[C++] Sortowanie alfabetyczne wierszy w pliku.
Ostatnio zmodyfikowano 2015-01-12 10:41
stryku |
» 2015-01-10 13:31:24 @1aam2am1 Pewnie, że lepiej tylko qsort jest trudniejszy, a kolega z bąbelkowym ma problem nawet, więc wiesz.
Co do pliku to możesz założyć, że zmieści się w RAMie? |
|
Myraa Temat założony przez niniejszego użytkownika |
» 2015-01-11 10:26:40 No właśnie z tym jest problem, że mam założyć, że rozmiar pliku jest większy niż dostępna pamięć. Bąbelkowego uczyłem się kilka lat temu, ale sortowałem dane w tablicach. Nie wymaga to wtedy zbyt wielkiego wysiłku. Gorzej kiedy nie mogę wczytać całej zawartości. |
|
stryku |
» 2015-01-11 10:47:42 |
|
Piastlis |
» 2015-01-11 12:49:20 Pamięci taśmowe to już historia i nie trzeba nic wiedzieć na ten temat. Najprostszy algorym na sortowanie dużego pliku jest taki:
1. stwóż tablicę w pamięci o wielkości mniejszej niż plik 2. wgraj do tablicy wiersze z pliku 3. posortuj tablicę metodą bąbelkową 4. zapisz wiersze do pliku pomocniczego 5. jeżeli plik do posortowania nie jest pusty punkt 2 6. otwórz wszystkie pliki pomocnicze 7. pobierz po 1 elemencie 8. wybierz z tych elementów najlżejszy 9. zapisz go do pliku wynikowego 10.pobież kolejny element z pliku gdzie był najlżejszy 11.jeżeli jest coś jeszcze do posortowania punkt 8 12 zamknąć wynikowy i pokasować pomocnicze. Posortowane:) Dlatego pisałem byś plik wgrał do tablicy i go w niej posortował. |
|
stryku |
» 2015-01-11 15:41:49 @up właśnie opisałeś sortowanie na taśmach |
|
Piastlis |
» 2015-01-11 19:55:24 Swobodny dostęp do kilku plików to nie jest cecha taśmy.W tej metodzie raz zapisujesz i odczytujesz ilość danych jaka jest w pliku danych .I raz plik wynikowy .Na taśmie to by nie przeszło.
|
|
stryku |
» 2015-01-12 10:41:06 Masz rację, nie przeczytałem dokładnie Twojego algorytmu |
|
1 « 2 » |