📄 roliste1.pas
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -