Nowe posty

Autor Wątek: Sortowanie  (Przeczytany 2689 razy)

Pa87blo

  • Gość
Sortowanie
« dnia: 2010-09-19, 18:08:33 »
Miałem do wygenerowania losowy ciąg licz z zakresu o 0 do 1000 o długości 2000 elementów.

for((i = 0; i < 2000; ++i)); do echo $(($RANDOM % 1001)); done

Tak to zrobiłem Teraz mam pytanie jak posortować już wygenerowany ciąg licz algorytmem bąbelkowym i jak zmierzyć czas tego sortowania

Dzieki z góry za pomoc.

ra-v

  • Gość
Sortowanie
« Odpowiedź #1 dnia: 2010-09-19, 22:11:43 »
czas_start=$(date +%s.%N)
# sortowanie
czas_koniec=$(date +%s.%N)
Czas unixowy sekundy.nanosekundy, pamiętaj ze bash nie obsługuje typu zmiennoprzecinkowego. Czas naturalnie obliczasz odejmując czas końcowy od początkowego

Dane z tej pętli co wyżej przypisujesz do tablicy, nie robisz echa, aby uzyskać jak najdokładniejszy test (który i tak będzie miał odchylenia). Spróbuj zrobić np. dla 100 tys liczb (w zależności od mocy kompa).

Sortowanie bąbelkowe w BASH-u

darko

  • Gość
Sortowanie
« Odpowiedź #2 dnia: 2010-09-19, 23:05:33 »
man time