#include
typedef struct lnodelinklist; //構造乙個單鏈表結構體
void createlist(linklist *&l,int a,int n)
}//後插法建立單鏈表
void display(linklist *l)coutnext,*p3;//p1 p2分別指向倆表的第一節點
l3=l1; //用l1的頭節點作為l3的頭節點
p3=l3; //p3的初值指向l3的頭節點
while(p1&&p2)
p3->next=p1?p1:p2;
delete l2;
}//合併兩個單鏈表
int main(),b[4]=;
createlist(l4,b,4);
cout<<「當m<=n時 l1:」;
display(l4);
createlist(l5,a,3);
cout<<「l2:」;
display(l5);
mlist(l4,l5,l6);
cout<<「l3:」;
display(l6);
createlist(l1,a,3);
cout<<「當m>n時 l1:」;
display(l1);
createlist(l2,b,4);
cout<<「l2:」;
display(l2);
mlist(l1,l2,l3);
cout<<「l3:」;
display(l3);
return 0;}
單鏈表交叉合併
輸入兩個單鏈表,使其交叉合併形成乙個單鏈表。如 1 3 5 7 9 2 4 6 8 0 合併後 1 2 3 4 5 6 7 8 9 0 如果乙個單鏈錶比另乙個長,則將多餘部分加到後面。具體 如下 include 定義鍊錶 typedef struct node node,nodep 鍊錶輸入資料 n...
遞迴法合併倆個單鏈表
原題如下 輸入兩個單調遞增的鍊錶,輸出兩個鍊錶合成後的鍊錶,當然我們需要合成後的鍊錶滿足單調不減規則。我覺得解題思路用這一張圖就可以表達的很清楚了。我的 非遞迴的,遞迴的在下面 public class listnode public class solution if list2 null lis...
資料結構之倆迴圈單鏈表合併
這段時間要好好調整一下自己了,發現基礎才是王道,所以打算好好鋪一鋪我滴c指標這一塊了,所以資料結構將會斷更一段時間,不過接下來要和大家見面的就是我們上次的迴圈單鏈表之合併 題目 將鍊錶a和鍊錶b合併為鍊錶c 演算法思想 將a鍊錶的尾指標reara與b鍊錶的第乙個節點鏈結起來,並且修改b鍊錶的尾指標r...