接下來,我要用一段c/c++**實現雙向鍊錶的構建,插入,刪除操作。這是鍊錶操作中比較基本的操作,我是模仿單向鍊錶來進行雙向鍊錶的構建,其插入和刪除操作也和單向鍊錶大同小異,**並不晦澀難懂,適合新手研讀,有錯誤或者不夠完善的希望大家指出。
#include
"pch.h"
#include
#include
#include
using
namespace std;
/* 構建雙向鍊錶(3指標法 模仿單鏈表建立 */
typedef
struct node
node;
node*
create_list()
p1->pnext =
null
;return head;
}void
showlist
(node* head)
//雙向鍊錶的遍歷
else
p = p-
>pnext;
} cout << endl;
}//隨機插入
node*
insert
(node* head)
else
//插入在其他結點
p->prior = insert_node;
break
;//一旦找到插入位置 記得跳出迴圈 不要浪費時間和記憶體}}
}return head;
}//隨機刪除
node*
delet
(node* head)
else
//如果不是第乙個結點
else
//如果不是最後乙個結點}}
}return head;
}int
main()
實現效果如下 C C 實現單線鍊錶及基本操作
class cmylist node m pfirst 鏈首結點指標 int m icount cmylist cmylist void cmylist cmylist void 每次都在鍊錶頭部加入元素 void cmylist add int ia 刪除鍊錶中的乙個元素 void cmylist...
雙向鍊錶 基本操作
test.c define crt secure no warnings 1 include doubleslishtnode.h void test1 initdslist pushback printfdslist popback void test2 pushfront popfront vo...
雙向鍊錶基本操作
帶頭節點的雙向鍊錶操作 include include include define ok 1 define error 0 define overflow 0 using namespace std typedef int status typedef int elemtype typedef s...