Sortowanie listy jednokierunkowej.

0

Dzień dobry, czy mógłby mnie ktoś wesprzec jakąkolwiek pomocą nt. sortowania list jednokierunkowych ?
Częścią polecenie mojego programu jest posortowanie(A-Z) wybranych rekordów listy według nazwiska:

type
  wsk_Opisy_Bibliograficzne = ^opisy_bibliograficzne;
  //Lista do której będą wczytywane opisy bibliograficzne z pliku.

  opisy_bibliograficzne = record
    etykieta: string;
    imie: string;
    nazwisko: string;
    tytul: string;
    Next: wsk_Opisy_Bibliograficzne;
  end;

a następnie wpisania ich do drugiej listy wraz z numeracją kolejnych rekordow w liscie. Numeracja ma sie odbywać po polu numer

  wsk_Opisy_Bibliograficzne_Posortowane = ^opisy_bibliograficzne_posortowane;
  //Lista zawiera rekordy z listy wyzej ktore beda posortowane polem nazwisko

  opisy_bibliograficzne_posortowane = record
    numer: integer;
    etykieta: string;
    imie: string;
    nazwisko: string;
    tytul: string;
    Next: wsk_Opisy_Bibliograficzne_Posortowane;
  end;

Na pewno im algorytm sortowania będzie prostszy tym lepiej, tym bardziej, że z góry jest przewidziane, że program nie będzie miał bardzo dużo rekordów w liscie.
Z góry dziękuję za pomoc.

0

http://edu.i-lo.tarnow.pl/inf/alg/003_sort/index.php - wybierz sobie. Babelkowe jest dosc proste w implementacji.

0

Dla list najprostszy w implementacji to Merge

0

Domyślam się na czym polega twój problem, moja rada: podczas sortowania zamiast trzymać wskaźnik(i) na element listy, trzymaj wskaźnik(i) na wskaźniki do elementu listy. W ten sposób będziesz w stanie robić dowolne zamiany elementów listy.

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