-
Notifications
You must be signed in to change notification settings - Fork 0
/
bubbleSort.py
29 lines (26 loc) · 1.05 KB
/
bubbleSort.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# Função lerArquivo: Lê e verifica o arquivo está vazio ou nao
def lerArquivo(contatos):
try:
with open(contatos, 'r') as arquivo:
linhas = arquivo.readlines()
return [linha.strip() for linha in linhas]
except FileNotFoundError:
print(f"Arquivo {contatos} não encontrado.")
return []
# Funcao bubbleSort: Ordena os nomes da função gerarContatos em ordem alfabetica utilizando o metodo bubble sort
def bubbleSort(arr):
n = len(arr)
for i in range(n):
for j in range(0, n-i-1):
if arr[j].lower() > arr[j+1].lower():
arr[j], arr[j+1] = arr[j+1], arr[j]
return arr
# Função escreverArquivo : Reescreve o arquivo contatos.txt, aplicando a função bubbleSort
def escreverArquivo(nome_arquivo, arr):
with open(nome_arquivo, 'w') as arquivo:
for linha in arr:
arquivo.write(linha + "\n")
nome_arquivo = "contatos.txt"
linhas = lerArquivo(nome_arquivo)
linhas_ordenadas = bubbleSort(linhas)
escreverArquivo(nome_arquivo, linhas_ordenadas)