#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...