[Delphi] Sortowanie

0

Jak posortowac plik o dowolnym formacie majacy np 600MB ?--Ucz się ucz bo......

0

Na jakiej zasadzie ma przebiegać sortowanie pliku "o dowolnym formacie"? Jak chcesz sortować *.exe??--Vogel [Delphi 6 PE]

Life is just a dream, you know...
[Cowboy Bebop]

0

Vogel napisał:
Na jakiej zasadzie ma przebiegać sortowanie pliku "o dowolnym formacie"? Jak chcesz sortować *.exe??
&gt
&gt--
&gtVogel [Delphi 6 PE]
&gt
&gtLife is just a dream, you know...
&gt[Cowboy Bebop]

Sortowanie pliku ma przebiegac bajt po bajcie. ( lub znaki, jak kto woli)--Ucz się ucz bo......

0

sgr napisał:
Sortowanie pliku ma przebiegac bajt po bajcie. ( lub znaki, jak kto woli)

A na co mi EXE posortowany bajt po bajcie? I 600MB = 600 000 000 znaków, co za problem posortować. Wystarczy mi 256 * 32 bajty pamięci do sortowania.--Vogel [Delphi 6 PE]

Life is just a dream, you know...
[Cowboy Bebop]

0

Moze bys sobie pocztal:
http://www.4programmers.net/view.php?id=95
--Pamietaj że święto zmarłych stanie się także twoim świętem.

0

werw0e napisał:
Moze bys sobie pocztal:
&gthttp://www.4programmers.net/view.php?id=95

Quicksort jest za wolnym algorytmem do sortowania takiej ilości danych(ktoś kiedyś pisał że próbował posortować 3.000.000 elementów i trwało to ponad tydzień, to tu by trwało kilka ładnych lat), to jest algorytm klasy (N log2N), co do normalnych celów jest naprawde wystarczające. A co do twojego problemu, to z tego co rozumiem chcesz je posortować wg kodów ASCII, wtedy wystarczy zadeklarować 256 elementową tablice longint i napisać procedure która sprawdzałaby kod danego znaku i zwiększało odpowiedni element tablicy o jeden, to byłby algorytm klasy (N).--

0

werw0e napisał:
Moze bys sobie pocztal: http://www.4programmers.net/view.php?id=95

Jeżeli ilość różnych znaków wynosi tylko 256 to po co mam sobie zawracać głowę takim wolnym sortowaniem? Jestem w stanie zrobić to o wiele szybciej.

Kurde, lamer mnie wyprzedził :P

--
Vogel [Delphi 6 PE]

Life is just a dream, you know...
[Cowboy Bebop]

0

Vogel napisał:
sgr napisał:
&gtSortowanie pliku ma przebiegac bajt po bajcie. ( lub znaki, jak kto woli)
&gt
&gtA na co mi EXE posortowany bajt po bajcie? I 600MB = 600 000 000 znaków, co za problem posortować. Wystarczy mi 256 * 32 bajty pamięci do sortowania.
I co dalej z tymi 256*32 bajty. A co powiesz gdy zechce sortowac plik np 5GB ?--Ucz się ucz bo......

0

lamer napisał:
werw0e napisał:
&gtMoze bys sobie pocztal:
&gt&gthttp://www.4programmers.net/view.php?id=95
&gt
&gtQuicksort jest za wolnym algorytmem do sortowania takiej ilości danych(ktoś kiedyś pisał że próbował posortować 3.000.000 elementów i trwało to ponad tydzień, to tu by trwało kilka ładnych lat), to jest algorytm klasy (N log2N), co do normalnych celów jest naprawde wystarczające. A co do twojego problemu, to z tego co rozumiem chcesz je posortować wg kodów ASCII, wtedy wystarczy zadeklarować 256 elementową tablice longint i napisać procedure która sprawdzałaby kod danego znaku i zwiększało odpowiedni element tablicy o jeden, to byłby algorytm klasy (N).

Jak chcesz sortowac zawartosc pliku przy pomocy 256 elementowej tablicy? Przeciez trzeba posortowac cala zawartosc pliku, pozamieniac bajty miejscami. A co powiesz gdy plik bedzie mial np 3GB ?
--Ucz się ucz bo......

0

sgr napisał:

&gtJak chcesz sortowac zawartosc pliku przy pomocy 256 elementowej tablicy? Przeciez trzeba posortowac cala zawartosc pliku, pozamieniac bajty miejscami. A co powiesz gdy plik bedzie mial np 3GB ?
&gt

sqr, do programowania myslec trzeba, a nie tylko okienka ukladac.

liczysz ile razy kazdy bajt wystepuje przy pomocy tej tablicy i wychodzi Ci np 0: 2000 razy, 1 :350 razy, 2: 5512 razy itd.

A potem tworzysz plik skladajacy sie kolejno z 2000 bajtow 0, 350 bajtow 1 itd.--Pawel {Delphi 6 Personal}

Po pierwsze: naciśnij F1

1 użytkowników online, w tym zalogowanych: 0, gości: 1