模板類實現鍊錶

2022-03-14 21:52:33 字數 1068 閱讀 4940

【原創】

我們在很多情況下會遇到這樣的情況,比如說,乙個鍊錶,他的資料型別有int,char,double等,這個時候我們可能直觀的理解就是建立多個struct node{};這樣固然能狗解決問題,但是這並不可取,太過死板,這時候利用c++中的模板,可以很好的解決這一問題;關於模板那裡的東西,可以檢視相關的書籍,下面直接給出乙份可用**,注意檢視main函式中的操作,十分的方便

1 #include 2

using

namespace

std;

3 template

4class

list;

16 node *phead;//

指向煉表頭節點的指標;

17};

18//

對成員函式的實現

19 template

20 list::list()

23 template

24void list::add(t& t)

30 template

31void list::remove(t&t)else43}

44}45if

(q) 48}

49 template

50void list::printlist()

54 cout<56 template

57 list::~list()64}

65int

main() ;

68 listcharlist;

69for (int i = 0; i74intlist.printlist();

75charlist.printlist();

76int

m;77 cin>>m;

78intlist.remove(m);

79char c = '

a'+m;

80charlist.remove(c);

81intlist.printlist();

82charlist.printlist();

8384

return0;

85 }

C 模板類實現鍊錶

注意 鍊錶中要包含node的結構體,用來把節點放進去 只有出現node就要加,不然會報錯 有類模板的重新編譯記得清空再重新生成 清除鍊錶時使用的迴圈清空頭結點的思想需要記得 c語言中一樣迴圈呼叫清除0號元素也可以 debug和release編譯不同,一步一步執行時順序不一樣,不知道為啥了,不過不重要...

鍊錶類模板

include using namespace std class cnode 定義乙個節點類 template 定義類模板 class clist 定義clist類 type movetrail 獲取尾節點 return ptmp 返回尾節點 void addnode type pnode 新增節...

類模板與鍊錶

include using namespace std templatestruct listnode 相當於把類或結構體當成type型別的 template class list private listnode first,last int length template 模板宣告 void l...