//將兩個有序順序表合併為乙個新的有序順序表
#include
#include
#define maxsize 20
typedef
struct
sqlist;
//鍊錶初始化
intlistinit
(sqlist *l)
l->length =0;
return1;
}void
printlist
(sqlist l)
printf
("\n");
}bool merge
(sqlist l1, sqlist l2, sqlist *l3)
//l1、l2都取完才結束
while
(i < l1.length || j < l2.length)
else
}return true;
}int
main()
for(i=
0; i < maxsize /
5; i++
)//列印表
printf
("list a:");
printlist
(l1)
;printf
("list b:");
printlist
(l2)
;merge
(l1, l2,
&l3)
;printf
("list c:");
printlist
(l3)
;}
表中資料為自動生成,若想手動輸入,插入listinsert()函式稍加修改即可。
int
listinsert
(sqlist *l,
int i,
int e)
if(l->length >= maxsize)
if(i <= l->length)
} l->array[i -1]
= e;
l->length++
;return1;
}
順序表的合併
順序表的合併 順序表的合併 include include define max 20 用typedef宣告新型別名sequencelist,代表乙個結構體型別,可用新型別名去定義變數 命名乙個新的型別名sequencelist來代表結構體型別 typedef struct sequencelist...
順序表合併
question 建立兩個非遞減順序表a,b,合併為乙個順序表但不建立新的順序表,相同資料不插入。比如 a 1 2 3 4 5 b 2 7 可把長度短的插入到長度長的順序表中,即a 1 2 3 4 5 7 實現 如下 include include define ok 1 define error ...
合併順序表
用順序表實現教材2.7.1節 42頁 的線性表合併 也可以參考課件 假設合併後的順序表的長度不會超出序表可能達到的最大長度。多組輸入。每組輸入資料由3行組成。第一行,輸入兩個整數a和b,分別代表順序表的長度。第二行和第三行,分別輸入a個和b個整數。詳見 和樣例輸入。見樣例輸出。每行最後乙個整數後有乙...