連結串列頭結點與頭指標
阿新 • • 發佈:2019-02-12
因為在單鏈表中,第一個結點是沒有前驅結點的,他是整個連結串列的開始地址,如果想操作該節點,必須將該節點放到一個指標變數,該變數即head頭指標。這樣就可以通過head遍歷到連結串列的每一個節點。
有時,為了方便操作,經常在連結串列的第一個節點前加入一個頭結點。頭結點也是和其他結點一樣型別的結點,指標變數head放入頭結點的地址。這樣即使是空表,頭指標也不再是一個空指標,處理空表和非空表操作一致。有些時候,頭結點的資料域可以放置整個連結串列的資訊。
(形象的想,頭插法插入節點,頭結點是“漂浮”在連結串列之上的)
template <class T>
class LinkList
{
Node<T> *head; //單鏈表的頭指標
public:
LinkList();//建立帶頭結點的空表
LinkList(T a[],int n);//建立有n個元素的單鏈表
-----------------------
-----------------------//具體的方法
}
template<class T>
LinkList<T>::Link()
{
head=new Node<T>;
head->=NULL;
}
template<class T>
LinkList<T>::LinkList(T a[],int n)
{
head=new Node<T>;
for(int i=0;i<n;i++)
{
Note* s=new Note<T>;
s->data=a[i];
s->next=head->next;
head->next=s;
}
}