儲存結構
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表示的空值。在合併過程中,比較兩個鍊錶當前待合併的第乙個元素,選擇...