学完C语言你会发现真的不难,可能就指针有点绕,其余的都是小打小闹。链表是数据结构里的内容,数据结构和算法是程序设计的核心,也是学IT这行必须掌握的内容。
如下此题其实还有别的方法,比如用数组存储链表中的数据,需要注意的是数组小标要准确.
任务描述
本关需要你设计一个程序,实现单链表的逆置。
单链表的逆置有两种方法:头插法和就地逆置法,这两种方法虽然都有逆置的效果,但还是有着不小的差别。
头插法
逆置链表初始为空,表中节点从原链表中依次“删除”,再逐个插入逆置链表的表头(即“头插”到逆置链表中),使它成为逆置链表的“新”的第一个结点,如此循环,直至原链表为空。
就地逆置法
先假定有一个函数,可以将以head为头结点的单链表逆序,并返回新的头结点。利用这个函数对问题进行求解:将链表分为当前表头结点和其余部分,递归的过程就是,先将表头结点从链表中拆出来,然后对其余部分进行逆序,最后将当前的表头结点链接到逆序链表的尾部。递归的终止条件就是链表只剩一个节点时,直接返回这个节点。
输入:
61 212 7 8 0 2
输出:
链表逆置前的数据:1 212 7 8 0 2
链表逆置后的数据:2 0 8 7 212 1
源代码:
运行结果:
到此这篇c++单向链表冒泡(单链表冒泡排序c语言)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/cjjbc/12683.html