下面是用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;【南京理工大學 三(分)】
[] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] []
From:http://tw.wingwit.com/Article/program/sjjg/201311/22556.html