雙鏈表的建立 刪除 插入及列印 資料結構

2021-08-04 05:22:22 字數 1102 閱讀 1353

#define _crt_secure_no_warnings

#include#include#define ok 1

#define error 0

typedef int status;

typedef int elemtype;

using namespace std;

typedef struct dulnode

dulnode,*dulinklist;

//建立雙鏈表

dulinklist createdulinklist(dulinklist l, int n)

r->next = null;//表示當前鍊錶結束

l->prior = null;

return l;

}//雙鏈表的刪除,刪除的元素放到e中

status deletelist(dulinklist l, int i,elemtype &e)

if (!(p->next)||j>i)

return error;//第i個元素不存在

e = p->data;

p->prior->next = p->next;

p->next->prior = p->prior;

free(p);

return ok;

}//在第i個位置之前插入新元素e,l的長度加1

status insertdulist(dulinklist l, int i, elemtype e)

if (!p || j>i)

return error;

s = (dulnode *)malloc(sizeof(dulnode));

s->data = e;

//順序不要亂

s->prior = p->prior;

p->prior->next = s;

s->next = p;

p->prior = s;

return ok;

}void printdulinklist(dulinklist l,int n)

cout << endl;

}void main()

雙鏈表的建立 測長 列印 刪除 插入

include using namespace std struct node int n 0 節點個數 鍊錶的建立,尾插法 struct node create struct node head q p n p new node cin p data p pre null p next null ...

單鏈表詳解(建立,插入,刪除,列印)

首先宣告乙個結構體,裡面包含結點內容和結點指標兩塊 struct node typedef struct node listnode 重新命名結構體 建立鍊錶 listnode creatlist listnode head,int n 宣告,head代表頭結點指標,n代表建立的結點個數 listn...

雙鏈表的插入和刪除實現

雙鏈表相對於單鏈表,最大的不同就是在它的插入和刪除操作上。在刪除實現時,要注意尾結點的刪除和普通結點的刪除的區別,需分別對待。以下是我的實現 includeusing namespace std struct node node creat int n return head int show no...