问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言链表逆序技巧

发布网友 发布时间:2023-05-10 15:10

我来回答

1个回答

热心网友 时间:2023-10-08 01:45


简洁的做法是
遍历链表,
元素进栈,
遍历的同时销毁原来的链表。
元素出栈,
建立新链表。
高效的是,
用指向链表结点指针的指针操作
直接首尾交换指针值(两两进行)
一般的是前插法
实际上根本就不用插入,一次遍历就可以完成了。
链表的逆序,必将涉及到两个以上指针,一般用三个指针,
下面是一个人的程序:
struct List1 *reverse(List1 *h) //h为链表的头指针
{
struct List1 *p,*v1,*v2;
v2=h;
v1=NULL;
while( v2!=NULL ){
p=v2-pNext;
v2-pNext=v1;
v1=v2;
v2=p;
}
return v1;
}
另一个人的:
struct IntNode* res(struct IntNode* h)
{
struct IntNode *s, *s1;
s = h;
h = NULL;
while (s)
{
s1 = s;
s = s-next;
s1-next = h;
h = s1;
}
return h;
}
算法都是一致,但顺序不一样,这直接点明了链表操作的核心——顺序,链表的算法主要难在顺序上。
逆序操作中,要将一个指针指向前一个节点,中间必然断开,这就需要两个指针指向断开处的一前一后。
上面两个程序都是这样,不同在于指针移动的位置。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
如何查被录取到的专业 怎样查被录取的专业 录取后怎样查询录取的专业 录取专业怎么查 已被录取怎么查专业 ghs网络语什么意思_ghs网络语意思出处含义介绍 纸箱企业管理软件 ghs什么意思网络(ghs什么意思网络用语) 《喜羊羊与灰太狼》大结局 0与任何数相加都得原数吗? 相爱的意义是陪伴共生 相爱的意义是什么 ...电脑开机就会显示这个了 怎么弄掉求大神帮忙_(:3 」∠)_WIN7系统... 梦见外出时晴天打雷是什么预兆? 房子后面多远可以挖坑? 农村居民宅基地房子挖坑应离多远? 挖坑要距离他人墙角地基多远? 初中外研版英语教材中有哪几种语篇类型 二层楼内一间房屋从地面下挖一米深坑,可以吗,离承重墙多远安全呢? 人教新课标第二册英语的语篇类型是什么 农村住房离多远不能挖坑埋管道 CAD上的”快速选择”有什么作用?怎么使用? 农村住房离多远不能挖坑埋管道? 英语语篇类型包括哪些 挖4米沟距离墙多远不影响 离房屋多远才能挖沟? 别人在自家墙跟挖坑应距墙多长? 英语语篇类型 品牌机里面的显卡和销售的显卡有什么不一样? 北京种葫芦的最佳时间是什么时候北京种葫芦的最佳时间是 银行柜员接班时未对现金进行逐一清点有什么风险 钱守旺2035年我几岁听课体会 日占比怎么算 北京暖气费显示欠费什么意思 供热缴费显示欠费为0,不能缴费,是不是交过了 今天早上供暖突然给了一条信息说供暖欠费,暖气也停了,什么情况? 不交取暖费后果是什么供暖费标准是多少 成熟期的顾客类型是什么 日渐成熟的几种表现 银行利息怎么算公式 三星s7after open什么意思 开盖直接吃英文表达 英语单词open什么意思? 梦见被人陷害赔钱的预兆 火药奶昔在线高清观看免费完整版,求百度网盘资源 谁能分享下《火药奶昔》资源,最好是高清的 OVGA彩屏是什么 诺基亚8800a2500的简介 玻璃磨边lx是什么意思 轻声是指什么声音的声调?