Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++] Sortowanie alfabetyczne wierszy w pliku.

Ostatnio zmodyfikowano 2015-01-12 10:41
Autor Wiadomość
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?
P-124563
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.
P-124628
stryku
» 2015-01-11 10:47:42
P-124629
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ł.
P-124643
stryku
» 2015-01-11 15:41:49
@up
właśnie opisałeś sortowanie na taśmach
P-124655
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.
P-124682
stryku
» 2015-01-12 10:41:06
Masz rację, nie przeczytałem dokładnie Twojego algorytmu
P-124707
1 « 2 »
Poprzednia strona Strona 2 z 2