【問題描述】**:編制乙個能演示將兩個有序表合併為乙個有序表的程式。
【基本要求】
已知遞增有序線性表la和lb,現將la和lb合併到lc,lc也是遞增有序的。
【測試資料】
la=(3,5,8,11) lb=(2,6,8,9,11,15,20)
合併後的lc=(2,3,5,6,8,9,11,15,20)
#includeconst int maxsize=100;
using namespace std;
typedef int elemtype;
typedef struct
sqlist;
void createlist(sqlist *&a,elemtype c,int n)
void unionlist(sqlist *&l,sqlist *&r,sqlist *&e)
while(ilength)
e->data[k++]=l->data[i++];
while(jlength)
e->data[k++]=r->data[j++];
e->length=k;}
void displist(sqlist *&e)
int main()
,b=;
createlist(l,a,4);
createlist(r,b,7);
unionlist(l,r,e);
displist(e);
return 0;
}
兩個有序順序表的合併
儲存結構 typedef struct sqlist 1 初始化線性表la,lb,lc 2 設定變數,i,j,k。i控制la元素下標,j控制lb的元素下標,k控制l c3 當其中某一線性表放入完成時,將另外線性表後面的直接放下去。初始化 void initlist sqlist l 建立線性表函式 ...
合併兩個有序表
題目 兩串數字有序,分別用順序表和煉表的方式,將兩串數字合併。一 順序表 思路 如有有序表a,b a 1 2 4 5 5 b 2 3 3 6 7 1.一開始 i 指向 a的開頭元素 即1 同理 j 指向 b開頭元素 2 2.a i 和 b j 中對比,選較小的放入新錶c中 include inclu...
合併兩個順序表
class program for int j 1 j 12 j 2 listresult merge left,right foreach int item in result console.writeline console.readline 由小到大的順序 public static lis...