( Zahy | 2012. 05. 17., cs – 23:25 )

Hát ha már a bsdsort-ról van szó, akkor néhány tipp. (Életemben meg nem néztem még semmilyen rendszer sort megvalósításának forrását, pedig lehetőségem lett volna rá.)
Eleve van egy halom különféle rendezőalgoritmus. (buborékendezés, heapsort, quicksort, beszúrórendezés, és í. t.) Melyiket használjuk? Ha sort programot akarnék írni, valószínűleg szétválasztanám két megoldásra: ha pipe-ból jön, akkor sima beszúró rendezéssel rendezném, hisz *elvben* amíg a másik program előállítja az adatot, addig én éppen rendezhetem magamban a már meglevő sorokat, így aztán mikor megérkezik az utolsó adatsor is, addigra már szépen rendezve van az összes addigi, tehát eléggé gyorsan kiköphetem a végső, rendezett adatokat. Míg ha nem pipeból, hanem seekelhető file-ból jön, akkor használnék valamilyen (a buboréknál és a beszúrónál) gyorsabb algoritmust.

Nyilván az se mindegy, hogy milyen adatszerkezeteket használva oldod meg a dolgokat. Nekem logikusnak tűnik, hogy valami láncolt listában legyenek az egyes sorokra mutató pointerek - és aztán persze ezeket a pointereket "rendezgessem", de elképzehető, hogy a tömbös tárolás bizonyos esetekben hatékonyabb - vagy akár az, hogy más ezt eleve kizárja, és teljesen mást tart jónak.

Nyilván lehet még kismillió egyéb olyan részt találni, amit a különböző fejlesztők különböző módon képzelnek el. Íly módon a megvalósítás is más és más lesz.