templateclass list;
templateclass node;
template node::node():link(0)
template node::node(const t & data)
:info(data),link(0)
templatevoid node::insertafter(node* p)
templatenode* node::removeafter()
#ifndef listclass_h
#define listclass_h
templateclass list; //刪除指定結點
templatelist::list()
templatelist::~list()
templatevoid list::makeempty()
//刪除(釋放)脫離下來的結點
tail=head;
} //表頭指標與表尾指標均指向表頭結點,表示空鏈
templatenode* list::find(t data)
templateint list::length()
return count;
}templatevoid list::printlist()
cout//如果為空,修改tail指向
templatevoid list::insertrear(node*p)
templatevoid list::insertorder(node*p)
tempq->insertafter(p);
//插在tempp指向結點之前,tempq之後
if(tail==tempq) tail=tempq->link;
}//插入tail後面,修改tail
templatenode* list::creatnode(t data)
templatenode* list::deletenode(node* p)
//本函式所用方法可省乙個工作指標,與insertorder比較
#endif
使用只有表尾指標或只有表頭指標的單迴圈鍊錶的情況
使用只有表尾指標沒有表頭指標 迴圈單鏈表指的是最後節點的指標域指向表頭節點,如果要刪除第乙個元素,只需要通過表尾指標找到第二個節點,然後將最後節點的指標指向第二個節點,就將第乙個元素刪除了 單鏈表指的是最後節點的指標域指向 表頭節點,如果要刪除第乙個元素,只需要通過表尾指標找到第二個節點,然後將最後...
鍊錶 頭指標 頭結點
圖1為線性表 zhao,qian,sun,li,zhou,wu,zheng,wang 的邏輯狀態。頭指標 指示鍊錶中第乙個結點 即第乙個資料元素的儲存映像 的儲存位置。同時,由於最後乙個資料元素沒有直接後繼,則線性鍊錶中最後乙個結點的指標為 空 null 圖 線性鍊錶的邏輯狀態 由上述描述可見,單鏈...
鍊錶 頭指標 頭結點
圖1為線性表 zhao,qian,sun,li,zhou,wu,zheng,wang 的邏輯狀態。頭指標 指示鍊錶中第乙個結點 即第乙個資料元素的儲存映像 的儲存位置。同時,由於最後乙個資料元素沒有直接後繼,則線性鍊錶中最後乙個結點的指標為 空 null 圖 線性鍊錶的邏輯狀態 由上述描述可見,單鏈...