用C++实现单链表的创建、逆置和输出 的两种方法
来源:互联网 发布:阿普唑仑淘宝上怎么买 编辑:程序博客网 时间:2024/05/17 02:15
http://blog.csdn.net/lfeng_coding/article/details/47300563
题目描述:在已知单链表头节点的情况下,设计算法逆置单链表并输出
方法一:采用首先将头节点指向空,让其变为尾节点,然后利用中间节点 p、q 将其后的节点一个接一个改为指向前面的节点
/****************************
*作者:刘峰
* 时间:2015\8\5
* 环境:VS2013
* 功能:实现创建一个节点可控的单链,并逆置输出
****************************/
方法二:用p,q指向单链表中相邻的两节点,将r指向q的下一个结点,然后同步后移。当q=NULL时,表示指向原单链表的尾结点,将p赋值为头节点 head 即可。
逆置函数代码如下(其他部分不变):
List *ReverseList(List *head)
{
List *p, *q, *r;
p = head;
if (p->next == NULL)
return head;
q = p->next;
while (q != NULL) //q为空,说明p为最后一个节点,所以结束while后将q赋值给head,作为逆置后的表头
{
r = q->next;
q->next = p;
p = q;
q = r;
}
head->next = NULL; //将原head变为逆置后链表的表尾
head = p; //逆置后新的表头
return head;
}
阅读全文
0 0
- 用C++实现单链表的创建、逆置和输出 的两种方法
- 用C++实现单链表的创建、逆置和输出
- 两种方法实现单向链表的创建、遍历、删除、查找、逆序输出(循环法和递归法)
- C/C++ 实现htonf和ntof的两种方法
- PHP输出CSV和EXCEL两种简单的方法
- PHP输出CSV和EXCEL两种简单的方法
- 两种获取HDC的方法和TextOut输出
- 创建单链表的两种方法
- JAVA中创建线程对象的两种方法:继承Thread和实现Runable
- C语言单链表和双链表的创建和输出
- DLL两种常用的创建和引用方法
- 输出调试信息的两种方法
- 比较输出表达式的两种方法
- Cocos2dx输出Log的两种方法
- 两种输出调试信息的方法
- C语言实现斐波那契数列的两种方法(递归和迭代)
- c实现 求一个数组中最大子序列的和 (两种方法)
- c语言:两种方法实现给定一个大写字母,用小写字母输出
- 水仙花数
- Logistic Regression对J(θ)和sigmoid的求导
- 命运石之门
- HTML+CSS基础课程学习(2)
- 【British standard】字母的名称音和发音
- 用C++实现单链表的创建、逆置和输出 的两种方法
- Tomcat配置https
- 快排 Python实现
- 【leetCode刷题日记】 77. Combinations
- path变量的作用
- 第五章 SpringMVC之ViewResolver和View解析
- 关于把一句话中的单词存入char数组的方法。
- 【二分】BZOJ1816(Cqoi2010)[扑克牌]题解
- 什么是聚簇索引与非聚簇索引