Advertisement
Guest User

Untitled

a guest
Nov 21st, 2019
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.18 KB | None | 0 0
  1. import sys
  2.  
  3.  
  4. def sortowanie_babelkowe(lista):
  5.     for i in range(len(lista) - 1, 0, -1):
  6.         for j in range(i):
  7.             if lista[j] > lista[j + 1]:
  8.                 lista[j], lista[j + 1] = lista[j + 1], lista[j]
  9.     return lista
  10.  
  11.  
  12. def wyszukiwanie_binarne(lista, obiekt, lewy, prawy):
  13.     while lewy <= prawy:
  14.         i = (lewy + prawy) // 2
  15.         if obiekt == lista[i]:
  16.             return True, i
  17.         if obiekt > lista[i]:
  18.             lewy = i + 1
  19.         else:
  20.             prawy = i - 1
  21.     return False, None
  22.  
  23.  
  24. def posortuj_wyszukaj(lista, obiekt):
  25.     listaPosortowanaRosnaco = sortowanie_babelkowe(lista)
  26.     znaleziono, indeks = wyszukiwanie_binarne(lista, obiekt, 0, len(lista) - 1)
  27.     listaZElementem = listaPosortowanaRosnaco[indeks] = "*"
  28.  
  29.     return listaPosortowanaRosnaco, znaleziono, indeks, listaZElementem
  30.  
  31.  
  32. if __name__ == "__main__":
  33.     # jezeli nie ma podanych argumentów, nie wykonuj
  34.     if len(sys.argv) > 1:
  35.         # dzielę podany napis na tablice intów
  36.         lista = [int(i) for i in sys.argv[1].split()]
  37.         # zamieniam obiekt na int
  38.         obiekt = int(sys.argv[2])
  39.  
  40.         print(posortuj_wyszukaj(lista, obiekt))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement