数据结构链表问题?
问题描述输入一个链表,反转链表后,输出链表的所有元素。输入说明输入第一行为整数n(n>=1),代表测试链表数。从第二行开始每行表示一个链表,其中第一个数据表示链表中数据个...
问题描述
输入一个链表,反转链表后,输出链表的所有元素。
输入说明
输入第一行为整数n(n>=1),代表测试链表数。
从第二行开始每行表示一个链表,其中第一个数据表示链表中数据个数,其余数据表示要测试的链表中的数据,均为整数。
输出说明
每一行对应一个链表反转后的元素。
输入样例
3
5 1 2 3 4 5
3 2 4 5
1 3
输出样例
5 4 3 2 1
5 4 2
3
麻烦帮看一下这个题 展开
输入一个链表,反转链表后,输出链表的所有元素。
输入说明
输入第一行为整数n(n>=1),代表测试链表数。
从第二行开始每行表示一个链表,其中第一个数据表示链表中数据个数,其余数据表示要测试的链表中的数据,均为整数。
输出说明
每一行对应一个链表反转后的元素。
输入样例
3
5 1 2 3 4 5
3 2 4 5
1 3
输出样例
5 4 3 2 1
5 4 2
3
麻烦帮看一下这个题 展开
1个回答
展开全部
题主你好,过程请参考图,图中源代码也给了。当然,首先放的是正经的方法,后面简述一个不正经的。几个函数和模块:
1、定义两个结构体,一个是链表的链表,为了索引所有的链表弄的,当然,头指针这里多定义了一个数量,也就是量表的长度,这个有没有无所谓。一个是普通的量表,一个元素一个指针
2、输入部分,根据链表数量创建链表的链表,然后再根据每一个链表里元素的数量动态创建。因为我这里是c++环境,cin需要和scanf做个替换
3、反向链表:反向操作也就相当于对每一个元素的指针方向反过来,这一步一定要注意不要丢失了引用,注意结束时候将原来的第一个元素的next指向NULL。我这里p表示当前元素,q是当前开始算第二个元素、m是第三个,因为我们转换过程中需要先将第二个和第三个之间的引用断开,所以要给第三个先引用到。
4、打印链表,为了输出
5、主函数及运行结果
不正经的:
因为是一个一个元素进行输入,正常状态下,我们的流程是:创建一个指针->让已有最后一个元素的next指向这个新指针。那我们要反向,就可以在输入时候处理:新建一个指针->让这个新建指针的next指向已有的第一个,让新输入的元素成为头,这样就在输入时候就已经反过来了
光点科技
2023-08-15 广告
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询