1. 程式人生 > >資料結構-----------線性表(下篇)之雙向連結串列

資料結構-----------線性表(下篇)之雙向連結串列

//----------雙向連結串列的儲存結構------------

typedef struct DuLNode
{
	ElemType date;
	struct DoLNode *prior;
	struct DoLNode *next; 
 } DoLNode,*DoLinkList;

1)雙向連結串列的迴圈

判空

L->next=L;   // L->prior=L;   // L->next=L->proir;

2)雙向連結串列的插入

  1)在p之後插入                 保證1先於3

s->next=p->next;     

s->prior=p;

p->next=p;     斷(1)

s->next->prior=s;  斷(2)

   2)再p之前插入         保證2先於4

s->next=p;

s->prior=p->prior;

p->prior->next=s;  斷(1)

p->prior=s;             斷(2)

2)雙向連結串列的刪除   1,2沒有先後順序

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

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