問題描述:
線性表a(a1,a2,...am)和b(b1,b2,...bm),按以下規則融合
c=(a1,b1,...am,bm,bm,bm+1...bn) 當m<=n時
c=(a1,b1,...an,bn,an,bn+1...am) 當m>n時
單鏈表的長度m,n均未顯示儲存,c表利用a表和b表中的結點空間構成。
自己分析在另個地方寫了,(未儲存。。)**沒書上的好,記錄下書上的演算法:
status listmerge_l(linklist &a,linklist &b, linklist &c)
if(!pa) qb->next=pb;
pb=b;
free(pb);
return ok;
}巧妙之處:兩個指標的運用,試想一下,如果把順序打亂會是怎樣的結果,剛開始自己思考的時候有想到這個問題,覺得那樣插入資料會出錯,(開始也沒想到要用到兩個指標),可是照這樣的寫法就不會了,**很精練,融合了很多的思考,學習了。
兩個線性表合併為一演算法實現
la和lb是兩個int型陣列,將他們合併為乙個陣列lc 課本p20演算法2.1 include define len la 4 define len lb 7 函式 獲取元素 int getelem int list,int index 函式 插入元素 void listinsert int lis...
線性表 兩個有序鍊錶序列的合併
已知兩個非降序鍊錶序列s1與s2,設計函式構造出s1與s2合併後的新的非降序鍊錶s3。輸入格式 輸入分兩行,分別在每行給出由若干個正整數構成的非降序序列,用 1表示序列的結尾 1不屬於這個序列 數字用空格間隔。輸出格式 在一行中輸出合併後新的非降序鍊錶,數字間用空格分開,結尾不能有多餘空格 若新鍊錶...
線性表 兩個有序鍊錶序列的交集
已知兩個非降序鍊錶序列s1與s2,設計函式構造出s1與s2的交集新鍊錶s3。輸入格式 輸入分兩行,分別在每行給出由若干個正整數構成的非降序序列,用 1表示序列的結尾 1不屬於這個序列 數字用空格間隔。輸出格式 在一行中輸出兩個輸入序列的交集序列,數字間用空格分開,結尾不能有多餘空格 若新鍊錶為空,輸...