单链表---两种方法简单实现单链表逆置
来源:互联网 发布:淘宝联盟在哪里进入 编辑:程序博客网 时间:2024/06/13 20:18
方法一: 反转前后指针,通过建立三个指针的移动,将两两相邻的结点依次进行反转。
//单链表的逆置---相邻指针PNode ReverseList(PNode pHead){PNode pPre = pHead;PNode pCur = NULL;PNode pNext = NULL;if (NULL == pHead || NULL == pHead->_pNext)return;//多个节点pCur = pPre->_pNext;pNext = pCur->_pNext;pHead->_pNext = NULL;while (pNext){pCur->_pNext = pPre;pPre = pCur;pCur = pNext;pNext = pCur->_pNext;}pCur->_pNext = pPre;return pCur;}
方法二:头插法,新建一个头结点,将原链表的结点依次头插到新链表中。
// 单链表的逆置--头插法 PNode ReverseList2(PNode pHead){PNode pPre = NULL;PNode pCur = NULL;PNode pNewHead = NULL;if (NULL == pHead || NULL == pHead->_pNext)return pHead;pPre = pHead;pCur = pPre->_pNext;while (pCur){pPre->_pNext = pNewHead;pNewHead = pPre;pPre = pCur;pCur = pCur->_pNext;}pPre->_pNext = pNewHead;pNewHead = pPre;return pNewHead;}
链表的基本操作:http://blog.csdn.net/qq_37934101/article/details/78133585
阅读全文
1 0
- 单链表---两种方法简单实现单链表逆置
- Java 多线程的两种简单实现方法
- 实现一个简单的 成绩排序(两种方法)
- Gradle实现的两种简单的多渠道打包方法
- 一个关于多线程的简单例子(两种实现方法)
- Gradle实现的两种简单的多渠道打包方法
- [设计模式]两种方法实现简单工厂模式
- Gradle实现的两种简单的多渠道打包方法
- Gradle实现的两种简单的多渠道打包方法
- iOS property两种实现方法区别的简单介绍
- Gradle实现的两种简单的多渠道打包方法
- Gradle实现的两种简单的多渠道打包方法
- Gradle实现的两种简单的多渠道打包方法
- 简单的五子棋操作用两种方法实现
- 菜鸟初学android体验之——实现自定义简单标题栏的两种简单方法
- TabHost两种实现方法
- 两种扩展Eclipse的简单方法
- Hessian简单调用的两种方法
- LeedCode Palindrome Number
- ionic静态购物车实现
- 例子---回到顶部
- c++随笔——17.10.17
- 第七周项目2-链队算法库
- 单链表---两种方法简单实现单链表逆置
- Maximum Tree 2017ACM-ICPCUniversidadNacionaldeColombiaProgrammingContestB/Gym101466B
- bzoj 1042(容斥原理+背包dp)
- Python IDE——Pycharm 安装
- Android MediaRecorder录制视频
- TCP/IP 三次握手四次挥手
- c++随笔——17.10.18
- 微信公众平台java开发详解(工程代码+解析)
- angular删除数据+模糊查询,排序