順序表合併

2021-06-23 04:57:20 字數 960 閱讀 4929

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 0

#define true 1

#define false 0

#define overflow -2

#define maxsize 100

typedef int elemtype;

typedef int status;

typedef struct sqlist;  //結構體定義順序表

status initlist_sq(sqlist *l)   //順序表的初始化函式

status listinsert_sq(sqlist *l,int i,elemtype e)

l->elem[i-1]=e;

++l->length;

return ok;

}    // 插入函式

void listdisplay(sqlist *l)

}  //輸出順序表

int getelem(sqlist *l,int i)  //獲取順序表中第i個資料

void mergelist_sq(sqlist *la,sqlist *lb)

if(k==0)

else if (e>la->elem[j]&&eelem[j+1]) }}

}}  //合併函式

void input_sq(sqlist *l)

}  //順序表輸入資料函式

int main()

else

return 0;

}

合併順序表

用順序表實現教材2.7.1節 42頁 的線性表合併 也可以參考課件 假設合併後的順序表的長度不會超出序表可能達到的最大長度。多組輸入。每組輸入資料由3行組成。第一行,輸入兩個整數a和b,分別代表順序表的長度。第二行和第三行,分別輸入a個和b個整數。詳見 和樣例輸入。見樣例輸出。每行最後乙個整數後有乙...

10 8合併順序表

有順序表a 和b,其表中元素均按由小到大的順序排列。編寫乙個演算法將他們合併成乙個順序表c,並且要求表中的元素也按由小到大的順序排列 include include define maxsize 20 typedef struct seqlist 順序表型別 seqlist init seqlist...

順序表的合併

順序表的合併 順序表的合併 include include define max 20 用typedef宣告新型別名sequencelist,代表乙個結構體型別,可用新型別名去定義變數 命名乙個新的型別名sequencelist來代表結構體型別 typedef struct sequencelist...