資料結構 P31 演算法實現 有序鍊錶合併為有序鍊錶

2021-08-09 00:12:26 字數 667 閱讀 6817

/*有序鍊錶的合併 —演算法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 單鏈表 有序鍊錶

鍊錶是一種物理儲存單元上非連續 非順序的儲存結構,資料元素的邏輯順序是通過鍊錶中的指標鏈結次序實現的 在鍊錶中,尋找乙個特定元素的唯一方法,就是沿著這個元素的鏈一直向下尋找 無序陣列搜尋慢,有序陣列插入慢,且陣列的刪除效率低,大小固定 鍊錶則常用來替換陣列,作為其他儲存結構的基礎,以解決上面問題 除...