编写一程序,将带头结点的单链表拆成一个奇数链表和一个偶数链表。

解决方案 »

  1.   

    procedure SplitLink(HeadNode: PNode; var OddHead, EvenHead: PNode);
    var
     n: Integer;
      o, e: Pnode;
    begin
      n := 0;
      o := nil;
      e:= nil;
      OddHead := nil;
      EvenHead := nil;
      while Headnode <> nil do
      beign
        if n mod 2 <> 0 then
        begin
          if o = nil then
          begin
            o := Headnode ;
            oddhead := o;
          end else begin
            o.next := HeadNone;
            o := Headnone;
            o.next := nil;
          end;
        end else begin
          if e = nil then
          begin
            e := Headnode ;
            EvenHead := e;
          end else begin
            e.next := HeadNone;
            e := Headnone;
            e.next := nil;
          end;
        end;
        Inc(n);
        headnode := headnode.next;
      end;
    end;现写的,没测过。