合併兩個有序表 順序表

2021-10-09 15:35:49 字數 821 閱讀 3507

【問題描述】

編制乙個能演示將兩個有序表合併為乙個有序表的程式。

【基本要求】

已知遞增有序線性表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...