java创建链表 C 怎么利用递归实现单线链表的反向输出?

C 怎么利用递归实现单线链表的反向输出?

/*单向链表反向输出*/]#include

java创建链表 C  怎么利用递归实现单线链表的反向输出?

#include

#define MaxŠLEN 10

typedef structŠLINKNODE

{

int value

structŠLINKNODE*next

}LINKNODE

/*列表反向的原理是将原列表中的元素逐个向前插入新列表*/linknode*反向链接(linknode*head)

{

linknode*reverse=null

linknode*temp=null

while(head)!=null)

{

temp=head->next

head->next=reverse

reverse=head

]}]return reverse

}]void main()

{

int array[MAXulen]={0,1,2,3,4,5,6,7,8,9}

linknode*head=null

linknode*curnode=null

linknode*temp=null

linknode*reverse=null

对于(int i=0,i

如何使用递归和非递归方式反转单向链表?

问题:给出一个单向列表并从头到尾反转它。例如:a-B-C-D依次是D-C-B-a。分析:假设每个节点的结构是:复制如下代码:类节点{char valuenode next},因为在反转链表时,我们需要更新每个节点的“next”值。但是,在更新下一个值之前,需要保存下一个值,否则无法继续。因此,我们需要两个指针分别指向前一个节点和下一个节点。在更新当前节点的“next”值之后,我们向下移动这两个节点,直到到达最后一个节点。代码如下:public node reverse(node current){//initializationnode previousnode=nullnode nextnode=nullwhile(current!=null){//保存下一个nodenextnode=current.next//update当前.next//update“下一步”的值当前.下一个=previousNode//shift指针previousNode=currentcurrent=nextNode}return previousNode}上面的代码使用非递归方法,也可以通过递归来解决。代码如下:复制代码如下:public node reverse(node current){if(current==null)|当前.下一个==null)返回currentNode nextNode=当前.nextcurrent.next=Nullnode reverserest=reverse(nextnode)return reverserest}递归方法实际上非常巧妙。它使用递归转到链表的末尾,然后更新每个节点的下一个值(代码的倒数第二句)。

链表的逆序输出(递归调用)?

首先,输入main函数voidmain(),main函数直接调用reverse函数。在reverse函数中,使用getchar()输入字符。判断后,如果不是换行符“n”,则继续调用reverse函数直到“n”,然后判断是否为“n”。如果不是,则使用putchar()输出刚输入的字符,并从最后一个单词开始输出。最后,当所有输出都反转时,程序就完成了。我希望它能帮助你。谢谢你的提问。

标签:

最新文章

  1. 建设银行个人网上银行开通指南2025-03-08
  2. 有效边表填充算法步骤 急求用C语言编写的扫描线填充多边形的算法?2025-03-30
  3. 电脑怎么保存图片最好 电脑文件存放在哪最不容易失去?2025-03-17
  4. 小米k30后台运行在哪设置 miui12.5增强版第三批咋还没推送?2025-03-16
  5. 猕猴桃怎么去皮(猕猴桃的皮怎么好剥?)2025-03-25
  6. opporeno6pro返回键震动怎么取消 oppo手机返回键震动怎么取消?2025-03-15
  7. wps怎么对应排序 苹果手机版wps序号怎么自动排序?2025-03-21
  8. 天津商住房限购 天津公寓购买条件?2025-03-25
  9. 新手做seo怎么做 医疗行业的SEO怎么做?2025-03-30
  10. wps怎么删除全部页眉 WPS Office删除页眉2025-03-16
  11. 如何限制手机微信支付限额2025-03-13
  12. 如何为搜狗输入法添加更多主题表情2025-03-10
  13. 笼养鸡设备需要多少钱 肉鸡立体笼养有什么优点?2025-03-28
  14. excel 条件格式设置 如何在Excel中使用条件格式?2025-03-24
  15. java发邮件带附件 java里怎么发验证码到邮箱,然后登陆邮箱获取验证码?请高手指点,尽量具体些?2025-03-31
  16. 东莞车牌丢失补办吗(东莞电动车车牌丢了怎么办?)2025-03-25
  17. 在哪可以免费看电子书 有哪些免费电子图书馆的网站?2025-03-23
  18. java是什么 刚上大一,报的计科,学了一年的c和JAVA,都说计算机和数学关系紧密,可为啥没有感觉到?感到迷茫?2025-04-02
  19. Win8新手指南系列:第3篇--升级及应用的安装2025-03-10
  20. 带孩子去哪里旅游好(去哪里旅游适合带孩子?)2025-03-23
  21. 网站建设7个基本流程 如何建设出与众不同的网站?2025-03-27
  22. 亲人做了微商,但自己非常反感微商,该怎么办?2025-04-02
  23. 苹果笔记本怎么卸掉优酷 如何删除我的电脑里的优酷影视库?2025-03-23
  24. Excel如何使用切片器动态筛选数据2025-03-10
  25. 邮件投简历正文模板 怎么把网上填的简历发送到公司邮箱?2025-03-29
  26. 公司域名邮箱怎么注册 公司域名邮箱怎么弄?2025-03-27
  27. ads软件安装 ADS软件安装步骤详解2025-03-13
  28. Excel如何定义单元格区域的名称2025-03-09
  29. 更改微信提示音最新方法 iphone如何更改微信提示音?2025-03-23
  30. anaconda怎么运行python程序 刚开始用jupyternotebook,想问个问题,用这个保存的python脚本是ipynb的扩展名的,怎么变成py扩展名的?2025-03-27
优质自媒体
优质自媒体 微信号:优质自媒体 扫描二维码关注公众号
优质自媒体

小编推荐

  1. 1 招平面设计师的招聘信息 网页设计就业率怎么样?自学的话会不会很难?

    网页设计就业率怎么样?自学的话会不会很难?各行各业的公司都需要网页设计师,他们更多地集中在互联网公司,从他们的网站盈利。因此,网页设计师的就业范围非常广泛。市场对网页设计师的需求不断增加,各大网站、广告公司、设计公司都在招聘大量的网页设计师

  2. 2 锁屏倒计时软件安卓 需要iphone上的一个倒计时软件,在主屏幕上还可以显示还剩多少天?

    需要iphone上的一个倒计时软件,在主屏幕上还可以显示还剩多少天?闹钟:您可以将闹钟声音设置为振动;按此按钮可将其关闭,而不会划伤屏幕;即使您将其关闭,也可以将其关闭;如果不按“nap”键,您将不会一直响铃;您可以调整午睡时间倒计时:您可

  3. 3 微商云仓系统哪个好 云集微店如何?

    云集微店如何?之前,我路过并留言。当时我还是云记的掌柜,现在我是云记的掌柜。我不需要为398顿饭这么紧张。说真的,谁不在超市购物?超市给你佣金吗?谁能在所谓的微店看到它:阿玛尼、科赫、兰蔻、资生堂、CK、苹果、华为太多值得信赖的品牌,你继续

  4. 4 苹果手机怎么看flv视频 flv文件用什么播放器,怎么打开?

    flv文件用什么播放器,怎么打开?Flv播放器可以播放:RealPlayer,QQ视频,风暴视频,KMPlayer,超级兔子快乐视频。RealPlayer:RealPlayer的主要功能包括:支持播放各种在线媒体视频,包括flash、FLV

  5. 5 音乐网站系统 网站建设中应该注意哪些问题?

    网站建设中应该注意哪些问题?谢谢你的邀请。网站建设中会遇到很多问题。这里有几点。页面要小,实用,方便人们浏览。页面占用的空间越小,漫游速度越快。2尽量使用HTML页面。虽然PHP、ASP和JSP可以使web“动态化”,但这类程序会消耗一定的

  6. 6 malloc函数的使用格式 malloc函数怎么使用?

    malloc函数怎么使用?Malloc只是动态分配内存空间。Void*malloc(long nbytes):此函数分配nbytes并返回指向此内存的指针。如果分配失败,将返回空指针(null)。例如,char*PTR=null PTR=(

  7. 7 如何抢注好域名 域名市场如此疯狂,大量域名都被恶意抢注用来交易,现在想自己注册一个好域名还可行吗?

    域名市场如此疯狂,大量域名都被恶意抢注用来交易,现在想自己注册一个好域名还可行吗?域名资源的末尾。我们基本上都筋疲力尽了。在我的印象中,数亿。COM域名已经注册,包括所有拼音、单词、四个字母等。如果你想找到一个处女地注册网站,它是不现实的,

  8. 8 网页设计招聘要求 一般公司招聘网页设计师有什么要求?

    一般公司招聘网页设计师有什么要求?对网页设计师的一般要求如下1。精通各种网页和艺术应用,包括Photoshop、CorelDRAW、illustrator、Dreamweaver、flash、fireworks等。熟悉HTML,CSS,Ja

  9. 9 公司注册网站怎么注册 如何在一个服务器上放两个网站,分别用不同的域名访问?

    如何在一个服务器上放两个网站,分别用不同的域名访问?采用虚拟主机管理系统,网上有很多免费的,如宝塔面板N点主机管理系统、西部数字主机管理系统等。控制面板新建一个网站,目录与以前的网站相同,然后绑定要安装的证书的域名,然后安装并配置证书。2正

  10. 10 vr全景制作方法 怎样才能全景导航?

    怎样才能全景导航?我们点开手机上的地图,不知道大家平时有没有注意,这个右上角它有一个图层我们把它点开,上面有一个全景地图继续点开这个全景地图功能非常的强大,我们返回主界面,大家看上面会有一张小图片,我们把它点开它就会显示我们的所在地现实中的

Copyright 2025 优质自媒体,让大家了解更多图文资讯!百度地图 360地图