#include
#include
#include
#define n 5
using
namespace std;
typedef
struct lnode
lnode,
*linklist;
linklist greatendlist
(int a[n]
)//建立乙個單鏈表
else l-
>next =
null
; tail = l;
for(i =
0; i < n; i++
)else p-
>next =
null
; p-
>data = a[i]
; tail-
>next = p;
tail = tail-
>next;
}return l;
}linklist connectlist
(linklist la, linklist lb)
//連線兩個單鏈表
p->next = lb-
>next;
return la;
}linklist mergelist
(linklist la, linklist lb)
//合併兩個單鏈表
break
;case1:
q1->next = q-
>next;
q->next = p;
p1->next = q;
p1 = p1-
>next;
q = q1-
>next;
break;}
}if(p ==
null
)//處理尾巴
return la;
}linklist inverselist
(linklist l)
//將乙個單鏈表逆序(頭插法)
cout <<
"逆序後"
;return l;
}void
putlist
(linklist l)
//輸出單鏈表
cout << endl;
}int
main()
la =
greatendlist
(a);
printf
("正在建立第二個鍊錶,請輸入%d個元素值:"
, n)
;for
(i =
0; i < n; i++
) lb =
greatendlist
(b);
while(1
)break;}
if(g ==4)
break;}
return0;
}
單鏈表(合併單鏈表)
單鏈表遍歷 單鏈表遍歷是從單鏈表頭指標head開始訪問,沿著next指標所指示的方向依次訪問每乙個結點,且每個結點只能訪問依次,直到最後乙個結點為止。遍歷時注意,不要改變head指標的指向。因此一般設定另外的乙個指標變數如p,p從head開始依次訪問乙個結點,直到鍊錶結束,此時p null,完成依次...
單鏈表的合併演算法 3 2 單鏈表的合併
問題描述 兩個非降序鍊錶的並集,例如將鍊錶1 2 3 和 2 3 5 並為 1 2 3 5,只能輸出結果,不能修改兩個鍊錶的資料。輸入形式 第一行首先是資料的個數,然後是第乙個鍊錶的各結點值,以空格分隔。第二行首先也是資料的個數,然後是第二個鍊錶的各結點值,以空格分隔。輸出形式 合併好的鍊錶,以非降...
單鏈表的合併
function 單鏈表的合併 created by xilong date 2017.2.5 include iostream using namespace std define true 1 define false 0 define ok 1 define error 0 typedef i...