staging.inyokaproject.org

GNU coreutils - "sort"-Source

Status: Gelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |

LinusNichtTorvalds

Avatar von LinusNichtTorvalds

Anmeldungsdatum:
7. August 2008

Beiträge: 1626

Juten Tag,

ich brauche eure Hilfe bei der Analyse der GNU coreutils, genauer gesagt des sort-Programms. Das Programm sortiert ja bekannterweise Daten. Ein Befehl wie

cat foobar | sort -u

sortiert die Ausgabe der Datei foobar absteigend.

Ich habe mir gerade den Sourcecode des Sort-Programms gezogen (GNU coreutils 8.4) und ihn auch hier als Anhang eingefügt.

Ich brauche eine Stelle in dem Quelllcode, in dem erkennbar ist, welchen Sortieralgorithmus das Programm verwendet (z. B. Quicksort). Natürlich wird das auf mehrere Arten und Formen implementiert sein, aber ich brauche ja auch nur ein Beispiel.

Es wäre schön, wenn ihr mir helfen könntet, denn bis jetzt habe ich noch keine Stelle gefunden. ☹

LG Linus

Anhang

Lunar

Anmeldungsdatum:
17. März 2006

Beiträge: 5792

Die Funktionen sort() und sortlines() in sort.c implementieren die Sortierung, letztere zeigt den eigentlichen Algorithmus.

Im Übrigen sortiert -r absteigend, -u eliminiert Duplikate in der Ausgabe.

LinusNichtTorvalds

(Themenstarter)
Avatar von LinusNichtTorvalds

Anmeldungsdatum:
7. August 2008

Beiträge: 1626

Alles klar, dankeschön ☺ Hier nochmal die Zeilenangaben:

static void sort (char * const *files, size_t nfiles, char const *output_file) = Zeile 2863 ff.

static void sortlines (struct line *lines, size_t nlines, struct line *temp) = Zeile 2601 ff.

Antworten |