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...