📄 a34.pas
字号:
type pnod=^nod;
nod=record
inf:integer;
leg:pnod;
end;
var prim1,prim2,prim3:pnod;
n,p,i,x:integer;
procedure creare(var p:pnod);
var nou,ultim:pnod;
begin
if p=nil then begin
new(p);
write('p^.inf=');readln(p^.inf);
p^.leg:=nil;
ultim:=p;
end
else begin
new(nou);
write('nou^.nou=');readln(nou^.inf);
nou^.leg:=nil;
ultim^.leg:=nou;
ultim:=nou;
end;
end;
procedure afisare(p:pnod);
begin
if p=nil then writeln('lista vida')
else while p<>nil do begin
write(p^.inf,' ');
p:=p^.leg;
end;
end;
procedure interclasare(p1,p2:pnod;var p3:pnod);
var nou,ultim:pnod;
begin
while (p1<>nil) and (p2<>nil) do
begin
if p1^.inf<p2^.inf then begin
x:=p1^.inf;
p1:=p1^.leg;
end
else begin
x:=p2^.inf;
p2:=p2^.leg;
end;
if p3=nil then begin
new(p3);
p3^.inf:=x;
p3^.leg:=nil;
ultim:=p3;
end
else begin
new(nou);
nou^.inf:=x;
nou^.leg:=nil;
ultim^.leg:=nou;
ultim:=nou;
end;
end;
while p1<>nil do begin
new(nou);
nou^.inf:=p1^.inf;
nou^.leg:=nil;
ultim^.leg:=nou;
ultim:=nou;
p1:=p1^.leg;
end;
while p2<>nil do begin
new(nou);
nou^.inf:=p2^.inf;
nou^.leg:=nil;
ultim^.leg:=nou;
ultim:=nou;
p2:=p2^.leg
end;
end;
begin
write('n=');readln(n);
write('p=');readln(p);
prim1:=nil;
prim2:=nil;
prim3:=nil;
for i:=1 to n do creare(prim1);
for i:=1 to p do creare(prim2);
afisare(prim1);
writeln;
afisare(prim2);
writeln;
interclasare(prim1,prim2,prim3);
afisare(prim3);
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -