非循环单链表节点的操作

插入节点

1 //写法一:
2 r = p->pNext; //r为临时变量
3 p->pNext = q; //q为要插入的节点地址
4 q->next = r;
5 
6 
7 //写法二:
8 q->pNext = p->pNext; //将原来指向下一节点的指针域赋值给插入的节点的指针域
9 p->pNext = q; //原来的节点的指针域被赋值了插入的节点的地址

 

删除节点

1 r = p->pNext;
2 //将要删除的节点的地址赋值给临时变量,方便最后释放内存
3 
4 p->pNext = p->pNext -> pNext;//也可以写成r->pNext
5 //将p节点后面的节点删除,只需要将p节点后面的节点的指针域赋值给p节点的指针域
6 
7 free(r);
8 //手动释放内存

 

posted @ 2019-08-07 23:44  孙晨c  阅读(156)  评论(0编辑  收藏  举报