ليست پيوندي(با پاسكال)

abanzahra

Member
:idea:سلام
لطفا اگه كسي الگوريتم ليست پيوندي رو داره برام بزاره .منمون
 

Ocarina

Member
والا من الگوریتمشو ندارم...
اما این خود برنامه لیست پیوندی
کد:
program test;
uses crt;
type
   ptr=^list;
   list=record
      a:integer;
      next:ptr;
   end;
var
   start,p,h1,h2:ptr;
   x:integer;
begin
  clrscr;
  start:=nil;
  write('Enter x= ');
  readln(x);
  while x<>0 DO
    begin
       new(p);
       p^.next:=nil;
       p^.a:=x;

       if start=nil Then
           begin
            start:=p;
           end
        else
            begin
                if start^.a>x then
                    Begin
                       p^.next:=start;
                       start:=p;
                    end
                 else
                     begin
                         h1:=start;
                         h2:=start;
                         while (h2^.a<x) And (h2<> nil ) do
                           Begin
                              h1:=h2;
                              h2:=h2^.next;
                           end;
                           if h2=nil then
                                h1^.next:=p
                            else
                               begin
                                   p^.next:=h2;
                                   h1^.next:=p;
                               end;
                     end;
            end;
       write('Enter x= ');
       readln(x);
    end;
   p:=start;
   while p<> nil do
     begin
        write(p^.a:5);
        p:=p^.next;
     end;
   readln;
  end.
 

جدیدترین ارسال ها

بالا