def bubblesort_3(seq):
"""Ordenamento por bolhas.
Apenas ordena o subvector esquerdo onde houve trocas!
"""
copia = seq[:]
indice= len(seq)-1
while indice > 0:
cont = indice - 1
indice = 0
for i in range(cont+1):
if copia[i] > copia[i+1]:
copia[i],copia[i+1] = copia[i+1],copia[i]
indice=i
return copia
domingo, 20 de dezembro de 2009
Problema 10.5
Porque analisamos o vector em toda a sua dimensão se a partir de um certo índice não houve mais trocas? Não precisamos, pois não haver trocas significa: vector ordenado daí para a frente! O algoritmo apresetnado resolve essa questão.
Subscrever:
Enviar feedback (Atom)
Sem comentários:
Enviar um comentário