利用“哨兵”“实现双链表
生活随笔
收集整理的這篇文章主要介紹了
利用“哨兵”“实现双链表
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
利用“哨兵”“實現雙鏈表
下面的代碼用一個”哨兵“實現雙鏈表,感覺很簡潔,中間也有點繞,暫時實現,供學習之用
?
static Node list_handle = {&list_handle,&list_handle, };bool addNode(Node* node) {if (node == NULL){return false;}Node* guard = &list_handle;node->next = guard;node->prev = guard->prev;node->prev->next = node;node->next->prev = node;}void removeNode(Node *node) {if (node == NULL){return;}node->prev->next = node->next;node->next->prev = node->prev;node->prev = NULL;node->next = NULL; }void travel() {for (Node *node = list_handle.next;node != &list_handle ; node = node->next){//對每個節點所進行的操作,這里只是簡單的打印cout<< node->data <<""<<endl;} }
?
使用方法
?
int _tmain(int argc, _TCHAR* argv[]) {Node n1;n1.data = 100;Node n2;n2.data = 200;Node n3;n3.data = 300;addNode(&n1);addNode(&n2);addNode(&n3);travel();removeNode(&n2);travel();return 0; }
?
?
posted on 2014-06-05 22:30?九路313 閱讀(...) 評論(...) 編輯 收藏轉載于:https://www.cnblogs.com/start1225/p/3771273.html
總結
以上是生活随笔為你收集整理的利用“哨兵”“实现双链表的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 求一个好听的同事微信群名字。
- 下一篇: 法令纹多少钱啊?