大體上就是構建乙個具有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...