有順序表a 和b, 其表中元素均按由小到大的順序排列。
//編寫乙個演算法將他們合併成乙個順序表c, 並且要求表中的元素也按由小到大的順序排列
#include #include #define maxsize 20
typedef struct
seqlist; //順序表型別
seqlist *init_seqlist() //順序表初始化
void createlist(seqlist **l) //生成順序表
(*l)->len = n;
}void merge(seqlist *a, seqlist *b, seqlist **c)
*c = (seqlist *)malloc(sizeof(seqlist));
while (i <= a->len && j <= b->len)
else
}while (i <= a->len) //當表a未複製完
while (j <= b->data[j]) //當表b未複製完
(*c)->len = k - 1; //儲存表長
}void print(seqlist *l) //輸出順序表
printf("\n");
}int main()
順序表合併
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個整數。詳見 和樣例輸入。見樣例輸出。每行最後乙個整數後有乙...
順序表的合併
順序表的合併 順序表的合併 include include define max 20 用typedef宣告新型別名sequencelist,代表乙個結構體型別,可用新型別名去定義變數 命名乙個新的型別名sequencelist來代表結構體型別 typedef struct sequencelist...