1. 程式人生 > >連結串列頭結點與頭指標

連結串列頭結點與頭指標

因為在單鏈表中,第一個結點是沒有前驅結點的,他是整個連結串列的開始地址,如果想操作該節點,必須將該節點放到一個指標變數,該變數即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;

}

}