Skip to content

Commit 90def34

Browse files
author
João Pedro
committed
adicionar Gnome Sort em python
1 parent 7dcb857 commit 90def34

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

src/python/gnome_sort.py

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
'''
2+
Implementação do Gnome Sort ou Stupid Sort
3+
'''
4+
def gnomesort(lista):
5+
i = 0
6+
while i < len(lista):
7+
#caso a posição de i for 0 ou se o valor de i for maior ou igual ao seu anterior, o gnomo apenas avançará uma casa.
8+
if i == 0 or lista[i] >= lista[i-1]:
9+
i += 1
10+
11+
#caso o conteúdo da posição i seja menor ou igual a do seu anterior, o gnomo trocará os valores de lugar e voltará uma posição para validar a ordem.
12+
else:
13+
lista[i], lista[i-1] = lista[i-1], lista[i]
14+
i -= 1
15+
16+
return lista
17+
18+
def main():
19+
lista = [-1,1,0,-7,7,-5,5,2,-2,4,-4,9,-9,10,-10,-6,6,-8,8,-3,3]
20+
print(f'Lista antes de ser ordenada: {lista}') #imprime a lista não ordenada
21+
22+
lista = gnomesort(lista)
23+
print(f'Lista após ordenação com Gnome Sort: {lista}') #imprime a lista ordenada
24+
25+
if __name__ == '__main__':
26+
main()
27+
28+
29+

0 commit comments

Comments
 (0)