#include using namespace std;
class cnode //定義乙個節點類
};template //定義類模板
class clist // 定義clist類
type* movetrail() //獲取尾節點
return ptmp; //返回尾節點
} void addnode(type *pnode) //新增節點
else //鍊錶不為空
m_nodesum++; //使節點數量加1
} void passlist() //遍歷鍊錶
}} ~clist() //定義析構函式
m_nodesum = 0; //設定節點數量為0
pdelete = null; //將pdelete值為空
ptmp = null; //將ptmp值為空
} m_pheader = null; //將m_pheader值為空
}};class cnet //定義乙個節點類
};int main(int atgc, char * argv)
nodelist.passlist(); //遍歷鍊錶
cout << endl;
clistnetlist; //構造乙個類模板例項
for (int i = 0; i < 5; i++) //利用迴圈向鍊錶中新增節點
netlist.passlist(); //遍歷鍊錶
類模板與鍊錶
include using namespace std templatestruct listnode 相當於把類或結構體當成type型別的 template class list private listnode first,last int length template 模板宣告 void l...
類模板 》鍊錶,棧
除了構造和析構以外的所有用到模板名稱的地方都加上型別引數 類模板的選擇性例項化 用到哪個函式例項化哪個函式 include template 1 定義乙個型別 2 宣告型別 class clink templateclass node private t mdata node pnext templ...
C 鍊錶類模板
鍊錶 list 即雙向鍊錶容器,它不支援隨機訪問,訪問鍊錶元素要指標從鍊錶的某個斷點開始,插入和刪除操作所花費的時間是固定的,和該元素在鍊錶中的位置無關。list在任何位置插入和刪除動作都很快,不像vector只能在末尾操作。建立list鍊錶類模板的方法 include 呼叫list標頭檔案.lis...