📄 11insert.pas
字号:
program linkinsert(input,output);
type
datype=integer;
point= ^node;
node=record
data:datype;
link:point
end;
var
x:datype;
head:point;
procedure scan(head:point);
VAR
x:datype;
p:point;
begin
p:=head;
while p<>nil do
begin
x:=p^.data;
write(x:4);
p:=p^.link;
end;
end;
Procedure insert(var head:point;x:datype);
var
last,next,q:point;
begin
new(q);
q^.data:=x;
if (head=nil) or (x<=head^.data) then
begin
q^.link:=head;
head:=q ;
end
else
begin
next:=head;
While (x>next^.data) and (next^.link<>nil) do
begin
last:=next ;
next:=next^.link
end;
if x<=next^.data then {insert in the middle}
begin
last^.link:=q;
q^.link:=next;
end
else {insert in the tail}
begin
next^.link:=q;
q^.link:=nil;
end;
end;
end;
begin {main}
new(head);
head:=nil;
while not eof do
begin
read(x);
insert(head,x);
writeln;
scan(head);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -