下面是用c语言编写的对不带头结点的单链表进行就地逆置的算法该算法用L返回逆置后的链表的头指针试在空缺处填入适当的语句
void reverse(linklist &L){
p=nullq=L
while(q!=null)
{ () ; q>next=pp=q () ; }
() ;
}【北京理工大学 九 (分)】
.下面程序段是逆转单向循环链表的方法p 是原链表头指针逆转后链表头指针仍为p
(可以根据需要增加标识符)
p:= p; q:=NIL;
WHILE () DO
BEGIN () ; () ; () ; () END;
p^next:= q; p ^next:=p; p:=p;【中国人民大学 二(分)】
.一个无头结点的线性链表(不循环)有两个域数据域data指针域 next链首head下面算法用read(num)读入数据当num小于时输入结束建立一个数据以递增序组成的链表
PROC insert( head x);
{在链首为head的表中按递增序插入x}
new(r);r^data:=x;
IF head=NIL
THEN[ head:= () ; r^next:= () ]
ELSE IF () THEN [r^ next:=head; head:=r]
ELSE [p:=head;
WHILE () AND (p^next≠NIL ) DO[q:=p; () ];
IF () THEN [ q^ next:= () ; r^next:= () ; ]
ELSE [p^next:= () ; r^next:= () ; ]
]
ENDP;
PROC creat(head);
head:= () ; read(num);
WHILE num> DO
[ insert(headnum); read(num) ]
ENDP;【南京理工大学 三(分)】
[] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] []