roliste1.pas

来自「This ar the basic programs that i did in」· PAS 代码 · 共 80 行

PAS
80
字号
type pnod=^nod;
     nod=record
     inf:integer;
     st,dr:pnod;
     end;
var prim,ultim:pnod ;
    f:text;
procedure creare(var p,u:pnod);
var nou:pnod;
begin
assign(f,'liste.txt');
reset(f);
while not eof(f) do
                   if p=nil then begin
                                  new(p);
                                  read(f,p^.inf);
                                  p^.st:=nil;
                                  p^.dr:=nil;
                                  u:=p;
                                  end
                             else begin
                                  new(nou);
                                  read(f,nou^.inf);
                                  nou^.dr:=nil;
                                  nou^.st:=u;
                                  u^.dr:=nou;
                                  u:=nou;
                                  end;
close(f);
end;
procedure afisare(p:pnod);
begin
if p=nil then write('lista vida')
         else  while p<>nil do begin
                                write(p^.inf,' ');
                                p:=p^.dr;
                                end;
writeln;
end;
procedure afisare2(u:pnod);
begin
if u=nil then write('lista vida ')
         else  while u<>nil do begin
                               write(u^.inf,' ');
                               u:=u^.st;
                               end;
writeln;
end;
procedure eliminare(var p:pnod);
var q,t:pnod;
begin
while (p<>nil) and (p^.inf mod 2=0) do begin
                                       q:=p;
                                       p:=p^.dr;
                                       p^.st:=nil;
                                       dispose(q);
                                       p:=p^.dr;
                                       end;
if p<>nil then begin
               p:=p^.dr;
               repeat
               if p^.inf mod 2=0 then begin
                                      p^.st^.dr:=p^.dr;
                                      p^.dr^.st:=p^.st;
                                      dispose(p);
                                      end;
               p:=p^.dr;
               until p^.dr=nil;
               end;
end;
begin
prim:=nil;
ultim:=nil;
creare(prim,ultim );
afisare(prim);
afisare2(ultim);
eliminare(prim);
afisare(prim);
readln;
end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?