C C 實現雙向鍊錶及基本操作

2021-09-27 10:49:16 字數 1041 閱讀 7316

接下來,我要用一段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...