C語言之雙向連結串列
阿新 • • 發佈:2019-01-11
為了克服單向性的缺點,雙向連結串列得到應用。
typedef struct link
{
int data;
struct link* prev; //比起單向連結串列,多了指向前個節點的指標
struct link* next;
}link,*link_str;
雙向連結串列中,下一個節點的前指標直接,上一個節點的後指標也是自己。
p->next->prev=p=p->prev->next;
/**********實現插入**********/ /**********將s節點插入到p和p->next之間*****************/ /***************************/ //雙向連結串列的插入和單向連結串列類似,但是要注意順序 s->prev=p; //先將新插入的節點的前後指標定義好 s->next=p->next; p->next->prev=s; //再將之前的前後節點的指標重新設定 p->next=s->prev; /************刪除節點***************/ /************將p節點刪去**************/ p->prev=p->next->prev; p->prev->next=p->next;