鍊錶的構建,插入,刪除

2021-07-29 12:15:48 字數 720 閱讀 1674

大體上就是構建乙個具有n個點的鍊錶,利用前插法,就是不斷地把結點往頭結點的後面插入。既然是如此,那麼越往後插入的結點在鍊錶中就越靠前。所以在輸入鍊錶結點的data值的時候應該是逆序輸入的。

包括鍊錶的插入,要注意的是靈活改變指標指向。

刪除要注意的是不僅要改變指標的指向,還要將要刪除的那塊空間釋放掉。注意malloc和free配對使用。

貼**貼**:

#include #include#include#includeusing namespace std;

typedef struct lnode

lnode,*linklist;

void createlist(lnode *head,int n)

}void insertnode(lnode *head,int d,int m)//在第d個位置插入m//從1開始計數(不包括頭節點)

q->next=p->next;

p->next=q;

}void deletenode(lnode *head,int d)//刪除第d個位置的元素

lnode *q=p;

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

free(q);

}void printlist(lnode *p)

printf("->%d->end\n",p->data);

}int main()

鍊錶插入刪除

include include typedef struct node node,linklist void createlist linklist head 建立鍊錶 s node malloc sizeof node s next null s data data p next s p s in...

鍊錶的插入 刪除

include include include define true 1 define false 0 define ok 1 typedef struct l list list,plist plist create list int len 建立乙個單鏈表 bool show list pli...

鍊錶的插入 刪除

雙向鍊錶的插入 第一步 首先找到插入位置,節點 s 將插入到節點 p 之前 第二步 將節點 s 的前驅指向節點 p 的前驅,即 s prior p prior 第三步 將節點 p 的前驅的後繼指向節點 s 即 p prior next s 第四步 將節點 s 的後繼指向節點 p 即 s next p...