/*有序鍊錶的合併 —演算法2.12*/
#include
using namespace std;
struct node //建立節點
;class list //建立鍊錶類
//建構函式 初始化頭結點
void elem(int b); //鍊錶元素生成函式
void output(); //列印鍊錶
~list() //析構
};void list::elem(int b)
else
b+=b;}}
void list::output()
coutcout<<"鍊錶為空";
}int main()
else
while(a.p&&b.p) //當a,b鍊錶的p節點都不為空
else
c.p=c.p->next;
}if (a.p==null) //若a先為空 則將剩下的b鍊錶賦給c
}else //若b先為空 則將剩下的a鍊錶賦給c
}c.output(); //列印c
while(1){}
return 0;
}
資料結構 有序鍊錶的合併
1 已知兩個鍊錶head1和head2各自有序,請把它們合併成乙個鍊錶,依然有序。使用非遞迴方法以及遞迴方法。2 首先介紹非遞迴方法。區域性引用方法 這種方法避免使用虛擬節點 dummy node 而是使用乙個指向指標的指標,struct node lastptrref,這個指標指向結果鍊錶的最後乙...
資料結構鍊錶實現
二 實驗基本原理與設計 三 主要儀器裝置及耗材 四 附錄 利用linux gnu make c 專案管理軟體工具實現資料結構鍊錶 linked list 要求實現以下功能 push,pop,insert,delete,search,visit go through,clear。節點的資料必須具有一般...
資料結構和演算法 5 1 單鏈表 有序鍊錶
鍊錶是一種物理儲存單元上非連續 非順序的儲存結構,資料元素的邏輯順序是通過鍊錶中的指標鏈結次序實現的 在鍊錶中,尋找乙個特定元素的唯一方法,就是沿著這個元素的鏈一直向下尋找 無序陣列搜尋慢,有序陣列插入慢,且陣列的刪除效率低,大小固定 鍊錶則常用來替換陣列,作為其他儲存結構的基礎,以解決上面問題 除...