| Author |
Message
|
Siber Poziom 9

Joined: 16 Sep 2004 Posts: 38 Location: Łochów
|
#1
16 Sep 2004 13:19 [Turbo Pascal] Sortowanie. |
|
|
|
Przyślijcie mi program, który będzie sortował elementy tablicy dowolnym rodzajem sortowania. Pomóżcie mi, proszę. mój adres siber1(malpa)wp.pl
Zamykam. - arnoldziq
|
|
| Back to top |
|
 |
Google

|
#
16 Sep 2004 13:19 |
|
|
|
|
|
| Back to top |
|
 |
one_eddie Poziom 20

Joined: 22 Jul 2004 Posts: 990 Location: Polska
|
#2
16 Sep 2004 16:55 Re: sortowanie plików w pascalu |
|
|
|
poszukaj na google o sortowaniu babelkowym itp, przeziez implementacja tych algorytmow jest banalna :)
|
|
| Back to top |
|
 |
Google

|
#
16 Sep 2004 16:55 |
|
|
|
|
|
| Back to top |
|
 |
winIO Poziom 9

Joined: 08 Sep 2004 Posts: 37
|
#3
18 Sep 2004 19:29 Re: sortowanie plików w pascalu |
|
|
|
W Pascalowym helpie jest gotowy Quick Sort. Oczywiście myślę tu o Turbo Pascalu z Borlanda.
|
|
| Back to top |
|
 |
Google

|
#
18 Sep 2004 19:29 |
|
|
|
|
|
| Back to top |
|
 |
rtom Poziom 16

Joined: 03 Aug 2004 Posts: 334
|
#4
19 Sep 2004 15:40 Re: sortowanie plików w pascalu |
|
|
|
Dosyc dawno temu przesiadlem sie na C i wylecialo mi juz co nieco z glowy o skladni pascala. Ale alorytm np. sortowania babelkowego jest taki sam. Powiedzmy ze masz 3 puszki z farba (czerwona, zielona i jedna jest pusta). Chcesz czerwona farbe przelac do zielonej. Wiec robisz cos takeigo: wlewasz czerwona do pustej, zeielona do pustej czerwonej, a czerwona do zielonej. Chdozi o to zeby miec te jedna pusta puszke czyli zmienna. I na tym opiera sie cale sortwanie a w programie.
|
|
| Back to top |
|
 |
Xitami Poziom 21

Joined: 10 Aug 2004 Posts: 1126 Location: Gliwice
|
#5
19 Sep 2004 17:03 sortowanie plików w pascalu |
|
|
|
Pytanie zadane trochę mało precyzyjnie, bo sortujemy pliki czy tablice, jeśli pliki to jak wielkie?co do bąbelków to dobre są, ale w szampanie.
Możn wykorzystać jakąś armatę SQL np.
Sortowanie w pamięci jest znacznie prostrze, jeśli chodzi o pliki, to nie zawsze cały musi zmieścić się w pamięci, wystarczy może odczytać jedno pole z rekordu (klucz) i zapamiętać z nim pozycję w pliku, sortujemy to w pamięci i albo tworzymy nowy (posortowany) plik, albo zapisujemy indeks (tą właśnie posortowaną tablicę) i kiedy chcę odczytać rekord N z pliku, to czytam pozyję N z pliku indeksu i tu mam pozycję w pliku oryginalnym.
A sortowanie wielkich plików, trzeba by pokombinować chyba jakoś tak:
- czytać fragmentami, tyle ile zmieści się w pamięci, posortować, zapisać oddzielny, posortowany plik
-i teraz mamy ileś tam mniejszych posortowanych już plików
-do tablicy odczytuję pierwszy rekord z każdego (w tablicy tyle pozycji ile plików pośrednich)
-szukam powiedzmy najmniejszzego
-ten zapisuję do pliku wynikowego, a do tablicy czytam następny rekord z odpowiedniego pośredniego
-i tak do wyczerpania
-trzeba oczywiście uważać żeby nie przeczytać więcej niż można, problemem może być ilość jednocześnie otwartych plików
Algorytmów sortujących w pamięci jest mrowie, który najlepszy? to zależy, ale wiadomo który jest najgorszy, właśnie bąbelki
|
|
| Back to top |
|
 |