C语言实现双向非循环链表(不带头结点)的清空
2016-02-28 13:23
295 查看
我在之前一篇博客《C语言实现单链表的基本操作》实现了如何清空一个单链表,现在换成了双向的非循环链表,整体思路是一样的。代码上传至:https://github.com/chenyufeng1991/ClearDoubleLinkedList 。
核心代码如下:
核心代码如下:
Node *ClearDoubleLinkedList(Node *pNode){ if (pNode == NULL) { printf("%s函数执行,原链表就是空链表,无须执行该方法\n",__FUNCTION__); return NULL; }else{ while (pNode->next != NULL) { //一次删除每一个节点 pNode = pNode->next; free(pNode->prior); pNode->prior = NULL; } //清除最后一个节点 free(pNode); pNode = NULL; printf("%s函数执行,双向非循环链表清空成功\n",__FUNCTION__); return pNode; } }
相关文章推荐
- C/C++中define定义的常量与const常量
- 《你必须知道的495个C语言问题》知识笔记及补充
- C/C++中define定义的常量与const常量
- POJ 2362
- VS2010 C++ 操作Excel表格的编程实现
- C++中将数组作为形参时防止访问越界的几种方法
- C语言 单链表的 反序输出 与 反转
- effective c++读书笔记1,导读
- C++程序设计课程主页-2015级
- C++中的RVO和NRVO
- c++ gui qt4 chap02 find
- C/C++——声明一个到字符的指针,包含10个整数的数组,到包含10个整数的数组的引用,到字符串的数组的指针,到字符的指针的指针...
- c++ gui qt4 chap01 age
- 《Effective C++》Rule 37: 绝不重新定义继承而来的缺省的参数值
- C++11以前的序列点
- 如何加快 C++ 代码的编译速度
- [转]C++函数模板与模板函数
- C语言实现双向非循环链表的节点插入
- LeetCode:39. Combination Sum(C++版本)
- C++笔记:2