#include using namespace std;
//宣告單鏈錶類模板(為了說明友元類)
template class list;
//定義鍊錶結點類模板
template class listnode
listnode(type & item):data(item),next(null) {}
public:
//成員函式
//以item和next建立乙個新結點
listnode* createnode(type & item, listnode*next=null);
//取得結點中資料
type getdata() ;
//取得結點中指標值
listnode* getpointer() ;
//設定結點的data值
void setdate(type value)
//修改結點的指標值
void setpointer(listnode*nextt)
};//成員函式:以item和next建立乙個新結點
template listnode* listnode::createnode(type & item, listnode*next =null )
//定義單鏈錶類模板
template class list
list() //頭結點資料不定
~list()
//將鍊錶置為空
void makeempty();
//計算鍊錶的長度
int length() const;
//搜尋含資料value的結點並置為當前結點
listnode*find(type value);
//搜尋第 i 個結點的位址並置為當前結點
listnode*locate(int i);
//獲得當前結點的資料域的位址
type* getdate();
//將value插在當前位置後並置為當前節點
int insert (type value);
//將鍊錶當前結點刪去,返回該結點資料
type * removecurrentnode();
//當前指標置於表頭, 返回表頭結點位址
listnode* firster()
//獲得第乙個結點的資料域的位址
type *first();
//獲得當前結點後繼的資料域位址
type *next();
bool isempty()
//顯示輸出鍊錶
void dispaly();
};template //函式模板
void list::makeempty()
//當前指標置於表頭結點,形成空表
current=first;
}template int list::length() const
return count;
}//將value插在當前位置後並置為當前節點
// 建立鍊錶時,每次都將新結點插入到末尾
templateint list::insert(type value)
//獲得當前結點的資料域的位址
template type* list::getdate()
//顯示輸出鍊錶
template void list::dispaly()
cout
//搜尋第 i 個結點的位址並置為當前結點
template listnode*list::locate(int i)
listnode*p=first->next;
int k=1;
while(p!=null&&knext;
k++;
} if (p!=null)
return p;
}//將鍊錶當前結點(current)刪去,返回該結點資料
template type * list::removecurrentnode()
//獲得第乙個結點的資料域的位址
template type* list::first()
//獲得當前結點後繼的資料域位址
template type* list::next()
void main()
*/ for (char i='a';i
l2.insert(i);
l1.dispaly();
l2.dispaly();
//搜尋資料
listnode*p=l2.find('c');
if (p)
{ cout<
if(q)
cout<
單鏈表模板類
鍊錶是最基本的資料結構,是一組不連續的資料的集合,鍊錶中每個結點除包含結點元素外,還包含下一結點的位址。對鍊錶可以實現插入 刪除 查詢以及顯示等操作。單鏈表模板類list.h ifndef list h define list h include using namespace std templa...
單鏈表模板類
在單鏈表中必然需要定義乙個頭節點來指向鍊錶的第乙個元素,struct node public object mutable node m header 這樣直接定義會有乙個問題,頭節點的構造會呼叫t類的建構函式,這顯然時不需要的,解決方案如下 mutable struct public object...
C 模板類 單鏈表
c 作業,用模板類寫鍊錶,完成了對基本的單鏈表的插入,刪除等。include using namespace std templatestruct node templateclass linkedlist linkedlist t find int index 返回索引對應的值 void remo...