📄 roreuniu.pas
字号:
type pnod=^nod;
nod=record
inf:integer;
leg:pnod;
end;
var p1,p2,p3:pnod;
f:text;
procedure creare(var p:pnod);
var nou,ultim:pnod;
begin
while not eoln(f) do
if p=nil then begin
new(p);
read(f,p^.inf);
p^.leg:=nil;
ultim:=p;
end
else while not eoln(f) do begin
new(nou);
read(f,nou^.inf);
nou^.leg:=nil;
p^.leg:=nou;
ultim:=nou;
end;
end;
function cautare(x:integer;p:pnod):boolean;
var q:pnod;
begin
q:=p;
cautare:=false;
while q<>nil do begin
if q^.inf=x then begin
cautare:=true;
break;
end;
q:=q^.leg;
end;
end;
procedure reuniune(p1,p2:pnod;var p3:pnod);
var nou,ultim,q:pnod;
begin
q:=p1;
while q<>nil do begin
if p3=nil then begin
new(p3);
p3^.inf:=q^.inf;
p3^.leg:=nil;
ultim:=p1;
end
else begin
new(nou);
nou^.inf:=q^.inf;
nou^.leg:=nil;
ultim^.leg:=nou;
ultim:=nou;
end;
q:=q^.leg;
end;
while p2<>nil do begin
if not cautare(p2^.inf,p1) then
if p3=nil then begin
new(p3);
p3^.inf:=p2^.inf;
p3^.leg:=nil;
ultim:=p3;
end
else begin
new(nou);
nou^.inf:=p2^.inf;
nou^.leg:=nil;
ultim^.leg:=nou;
ultim:=nou;
end;
p2:=p2^.leg;
end;
end;
procedure afisare(p:pnod);
begin
if p=nil then write('lista vida')
else while p<>nil do begin
write(p^.inf,' ');
p:=p^.leg;
end;
end;
begin
assign(f,'lista.txt');
reset(f);
p1:=nil;
p2:=nil;
p3:=nil;
creare(p1);
readln(f);
creare(p2);
afisare(p1);
afisare(p2);
{reuniune(p1,p2,p3);
afisare(p3); }
close(f);
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -