Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Frage zum Sortieren einer verketteten Liste (https://www.delphipraxis.net/28191-frage-zum-sortieren-einer-verketteten-liste.html)

MarkusB 23. Aug 2004 21:10

Re: Frage zum Sortieren einer verketteten Liste
 
Hi Jungs!

Der folgende Teil sortiert eine verkettete Liste absteigend:

Delphi-Quellcode:
...

repeat
  changed := false;

  prev_node := nil;
  curr_node := start;

  while assigned(curr_node.next) do
  begin
    next_node := curr_node.next;

    if curr_node.zahl < next_node.zahl then
    begin
      curr_node.next := next_node.next;
      next_node.next := curr_node;

      if prev_node <> nil
      then prev_node.next := next_node;

      if curr_node = start
      then start := next_node;

      changed := true;

      prev_node := next_node;
    end
    else
    begin
      prev_node := curr_node;
      curr_node := curr_node.next;
    end;
  end;
until (not changed) and (curr_node.next = nil);

...
und dazu ein paar Deklarationen:

Delphi-Quellcode:
type
  ...

  PNode = ^TNode;
  TNode = record
            next: PNode;
            zahl: integer;
          end;
  ...

var
  ...
  start: PNode;

  prev_node: PNode;
  curr_node: PNode;
  next_node: PNode;
  ...
Viele Grüße
Markus
:gruebel:

Chris P 24. Aug 2004 10:17

Re: Frage zum Sortieren einer verketteten Liste
 
Endlich klappt es!!!

@MarkusB: Deine Lösung ist endlich die richtige!!! Vielen Dank!!!

@Xineohp: Auch vielen Dank an dich für deine viele Hilfe!!!

:dp: :dp: :dp: :dp: :dp: :dp: :dp: :dp: :dp: :dp: :dp:


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:28 Uhr.
Seite 3 von 3     123   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz