兩個有序順序表的合併

2021-09-25 10:23:34 字數 1145 閱讀 6800

儲存結構

typedef

struct

sqlist;

1、初始化線性表la,lb,lc

2、設定變數,i,j,k。i控制la元素下標,j控制lb的元素下標,k控制l

c3、當其中某一線性表放入完成時,將另外線性表後面的直接放下去。

初始化

void

initlist

(sqlist &l)

//建立線性表函式

初始化數值

void

initdata

(sqlist &l,

int length)

//初始化元素函式

//更改線性表的長度

l.length = length;

}

插入函式

void

insertlist

(sqlist &lc,

int location,

int data)

合併函式

void

mergelist

(sqlist la, sqlist lb, sqlist &lc)

else

}//la和lb的length不等

//所以要區別情況

while

(i < la.length)

//如果i最後的值還是小於la的長度,且上面的while部分又結束了

//說明lb已經結束了

while

(j < lb.length)

//這裡!一定要記得更新lc.length!!!!!!!!!

lc.length = k;

printf

("k:%d"

, k)

;}

注意點:

1、當lc新增元素了以後,最後要更新lc.length

2、如果i,j設定為1的起始值。while條件寫成:while(i<=la.length&&j<=lb.length)

合併兩個有序表 順序表

問題描述 編制乙個能演示將兩個有序表合併為乙個有序表的程式。基本要求 已知遞增有序線性表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...

合併兩個有序表

題目 兩串數字有序,分別用順序表和煉表的方式,將兩串數字合併。一 順序表 思路 如有有序表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...

順序合併兩個非有序的鍊錶

給定由整數組成的兩個無序陣列,根據順序合併成乙個陣列。輸入包括兩行,每行由若干個由 分隔的整數組成,分別表示以最左整數為煉表頭,單向指向右側節點的鍊錶,每行輸入均以 結尾。輸出為合併後的單向鍊錶,由 表示其間的指標,最終指向由null表示的空值。在合併過程中,比較兩個鍊錶當前待合併的第乙個元素,選擇...