1
2#include
<
stdio.h
>
3#include
<
stdlib.h
>
4#include
<
malloc.h
>56
#define
ok 1
7#define
error 0
8#define
true 1
9#define
false 0
1011
#define
elemtype int
12#define
maxsize 100
/*此處的巨集定義常量表示線性表可能達到的最大長度*/
13typedef
struct
14seqlist;
1819
void
merge(seqlist
*la, seqlist
*lb, seqlist
*lc)
2030
else
3136
while
(i<=
la->
last)
/*當表la有剩餘元素時,則將表la餘下的元素賦給表lc
*/37
42while
(j<=
lb->
last)
/*當表lb有剩餘元素時,則將表lb餘下的元素賦給表lc
*/43
48lc
->
last=la
->
last+lb
->
last+1
;
/*lc的長度等於兩個棧的長度+1
*/49}50
5152
void
main()
5367
6869lb=
(seqlist
*)malloc(
sizeof
(seqlist));
70printf(
"please input the stack b 's length:");
71scanf("%d
",&r);
72lb
->
last =r
-1;73
printf(
"please enter the numbers of stack b:\n");
74for(i=
0; i
<=
lb->
last; i++)
7578
79lc
=(seqlist
*)malloc(
sizeof
(seqlist));
80merge(la,lb,lc);
81printf(
"join the two stacks is:\n");
82for(i=
0; i
<=
lc->
last; i++)
8386}87
線性表的合併
1.有序 順序表的合併 typedef struct sqlist la lb均為遞增序列 void mergelist sqlist la,sqlist lb,sqlist lc while pa pa last while pb pb last view code 鍊錶的合併 typedef s...
線性表的順序儲存 及連個線性表的合併
題 兩個線性表的合併,若有相同元素選擇乙個就好 思路 先定義順序表的結構體 再定義結構體的物件 然後對物件進行吧增刪改查一系列的操作 對於合併,先從某個列表中選取元素,然後到另乙個列表中進行比較,如果在另乙個列表中不存在這個元素,則進行插入,否則不進行操作,把所有的元素都取出來到另一列表中去比較,採...
無序線性表合併(鍊錶)
分析 無序兩張表la,lb,需要遍歷lb查重再插入la尾 include include include include 包含exit標頭檔案 include include define ok 1 define error 0 define length a 5 define length b 3...