.循環鏈表a和b的結點值為字母其中a表非遞減有序下面的程序欲構造一個遞增有序的循環鏈表c其中結點的值為同時在ab兩鏈表中出現的字母且c中字母不重復請補上程序中空缺的部分並估計算法的時間復雜度(設ab的結點數分別為mn)
TYPE
link=^node;
node=RECORD
key:char; next:link
END;
PROC jj(ab:link; VAR c:link);
VAR pqrs:link;
BEGIN
new(c);c^next:=c; q:=a; p:=a^next;
WHILE p<>a DO
[ ()
WHILE p^key=p^next^key DO [q:=p; p=p^next];{跳過相同字母}
r:=b^next ; () ;
WHILE r^key <>p^key DO r:=r^next;
IF r<>b THEN
[ s:=p; q^next:=p^next; () ;
s^next:=c^next; c^next:=s; c:=s ]
ELSE [ q:=p; p:=p^next ]
]; c:=c^next
END;
算法時間復雜度為O () 【北京工業大學 四 (分)】
以下程序的功能是實現帶附加頭結點的單鏈表數據結點逆序連接請填空完善之
void reverse(pointer h)
/* h為附加頭結點指針類型pointer同算法設計第題*/
{ pointer pq;
p=h>next; h>next=NULL;
while( () )
{q=p; p=p>next; q>next=h>next; h>next= () ; }
}【西南交通大學 一】
[] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] []
From:http://tw.wingwit.com/Article/program/sjjg/201311/22555.html