資料結構 10 雙向鍊錶插入和刪除節點

2021-07-16 21:59:39 字數 864 閱讀 2194

雙向鍊錶——插入、刪除指定位置和相同節點

#includeusing namespace std;

struct node //node結構體,裡面有兩個個node指標,用來指向上/下乙個node物件

;node* create(int n) //建立鍊錶,引數n表示結點的個數,返回型別是結點指標node*

p->right=null; //建立完成後,p->right為空,最後乙個節點的right位null

head->right->left=null; //建立完成後,第乙個節點的left為null

return head;

}void display(node *head) //輸出鍊錶

coutnode *temp=new node; //新節點,這裡不能用node *temp; 前面講過,需要儲存資料,所以要new乙個

temp->x=data;

temp->left=p; //建立左連線

temp->right=p->right; //temp連線上p後面的節點

p->right=temp; //p與temp連線 }

void remove(node *head,int pos) //在鍊錶head指定位置pos刪除結點

void removesame(node *head) //在鍊錶head中刪除相同結點

t=t->right;

} p=p->right; }}

int main()

資料結構四雙向鍊錶

雙向鍊錶也叫雙鏈表,是鍊錶的一種,它的每個資料結點中都有兩個指標,分別指向直接後繼和直接前驅。所以,從雙向鍊錶中的任意乙個結點開始,都可以很方便地訪問它的前驅結點和後繼結點。而之前的單鏈表為單向鍊錶,雙向鍊錶也就是在單鏈表的結點中增加乙個指向其前驅的pre指標。如圖 這裡介紹雙向鍊錶的常用操作 l ...

資料結構 003雙向鍊錶

雙鏈表 include using namespace std typedef int elemtype typedef struct lnode lnode,linklist 初始化 linklist init linklist 頭插法建立鍊錶 linklist head insert linkl...

資料結構基礎 1 雙向鍊錶

linklist.h ifndef link list h define link list h 1 include include include struct stu struct stu initlist struct stu head void destroylist struct stu ...