Advertisement
fahadkalil

ordenacao_resolvido_2020-2

Nov 5th, 2020
2,441
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.38 KB | None | 0 0
  1. ## Criacao dos metodos de ordenacao
  2.  
  3. def bubble_sort(lista):
  4.     ordenado = False
  5.     while not ordenado:
  6.         ordenado = True
  7.         # laço
  8.         for i in range(0, len(lista)-1):
  9.             if lista[i] > lista[i+1]:
  10.                 # faz a troca (swap)
  11.                 lista[i], lista[i+1] = lista[i+1], lista[i]
  12.                 ordenado = False
  13.        
  14.     return lista
  15.  
  16. def insertion_sort(lista): # tipo jogo de cartas  
  17.     for i in range(1, len(lista)):      
  18.         for j in range(0, i):            
  19.             if lista[i] < lista[j]:
  20.                 lista[i], lista[j] = lista[j], lista[i] # troca
  21.    
  22.     return lista
  23.  
  24. def menor(lista, inicio=0): # retorna o indice com o menor valor
  25.     menor = inicio # armazena indice do menor
  26.     for i in range(inicio, len(lista)):
  27.         if lista[i] < lista[menor]:
  28.             menor = i
  29.            
  30.     return menor
  31.  
  32. def selection_sort(lista):
  33.     for i in range(0, len(lista)):
  34.         indice_menor = menor(lista, i)
  35.         #indice_menor = lista.index(min(lista[i:]))
  36.         lista[indice_menor], lista[i] = lista[i], lista[indice_menor] # troca
  37.  
  38.     return lista
  39.  
  40.  
  41.    
  42. ## TESTES ##
  43. lista = [5,8,2,1,7]
  44. print(lista)
  45. print(bubble_sort(lista))
  46. print()
  47.  
  48. lista = [5,8,2,1,7]
  49. print(lista)
  50. print(insertion_sort(lista))
  51. print()
  52.  
  53. lista = [5,8,2,1,7]
  54. print(lista)
  55. print(selection_sort(lista))
  56.  
  57.  
  58.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement