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

链表中查找X并将哪个节点删除,将最大字母排列到链表尾部(c++语言)

发布网友 发布时间:2022-05-16 02:12

我来回答

1个回答

热心网友 时间:2023-10-09 02:29

一个仅由字母组成的字符串s,长度为n,其结构为单链表,每个结点的data字段只存放一个字母。试设计一个函数,去掉字符串中所有的X字母,并将串中的一个最小字母排列到串尾。
【算法分析】
从链表的表头开始查找每一个结点,如果该结点的数据值为X,则删除该结点。同时在查找的过程中,顺便比较该结点与前驱结点的大小,如果该结点的值闭其前驱结点的值大,则顺便交换,直到整个链表结束。
【算法源代码】
search(LinkList s,char x)
/*在带头结点的单链表s中查找数据值为x的结点*/
{
LinkList p,q,r;
char temp;
p=s->next;
q=s;/*p表示当前操作的结点,q表示p的前驱结点*/
while(p!=NULL)
{if(p->data==x)
{r=p;
q-next=p->next;
p=p->next;
free(r);
} /*找到释放结点*/
else
{q=p; p=p->next; }
if(q!=s&&p->data>q->data) /*将结点值最小的结点移到表尾*/
{
temp=p->data;
p->data=q->data;
q->data=temp;
}
}
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
绿茶要猛冲吗,绿茶鲜嫩不需要(绿茶冲泡的正确方式) 绿茶为什么越好越不耐泡 绿茶要泡几泡?哪种绿茶最耐泡? 哪种绿茶最耐泡 职场故事:美女职员遇到暴躁老板 老板脾气坏得要命,我该怎么办 老板老爱发脾气,我们应该怎么做呀? 害怕老总发脾气怎么办 网络上用名字测和另一个人的关系准确吗 一个男生把自己的名字和另一个人的名字放在一起,中间放个"&"符号... c++链表的模糊查找 不懂就问,为什么“John”要翻译成“约翰” 怎样建立一个链表,并且查找一个数值x并确定它在表中的位置 单链表查找问题 链表查找(我很奇怪,为什么我在程序里写好要查的数就可以,而在程序执行时,手动输入要查询的数就不行呢 按序号查找链表数据元素的算法 实现C语言链表的按位置查找,按值查找和求链表的长度三个算法怎么编啊 在链表查找算法中,为什么要使用循环来逐个查找,而不是用p=p->next->next->next……;这样的语句来直接找到 C语言链表关键字检索 单向链表为什么不能用折半搜索? 链表查找编写 动态链表中如何实现查找功能 设单链表的结点按关键字的大小从小到大排列,试写出对此链表的查找算法并说明是否可用折半查找. C语言...链表的查找 链表适用于( )查找 别人加我微信为什么不显示男女性别和以及地点 单向链表的建立和搜索和插入? 男女怎么修改 看见别人的码头像旁边没有男女标志是为什么啊 微信帐号不显示性别和 为什么英文名“John”明明读起来没有“约”的发音,音译却叫“约翰”? 关于C++链表查找 john为什么要翻译成约翰 在单链表中查找值最小的结点 速度 华艺格尔风扇灯的价格 John为什么翻译成约翰 英语中的John,为什么要翻译成“约翰” John为什么翻译成约翰或乔伊? 有人知道为什么中译英会把John翻译成约翰 我想问为什么John要翻译成约翰而不是乔翰 微信小程序点餐用的手机号已经绑定了其他怎么办 微信小程序点餐用的手机号已经绑定了其他怎么办 换手率达到38.6%,正常吗? 如何查询自己名下的QQ号和(实名认证过的)? creo怎么做一个圆柱体被斜切的动画 Creo2.0怎么做机构动画呢,不是模拟装配动画哦 Creo 如何制作有截面的动画,模型里有剖面,一切到动画里就没啦 creo3.0做动画 怎么找不到定义主体这个选项 求助proe或者creo大神。我的模型是多级装配体(装配体中有装配体)动画制作中使用封装移动功能时 请问proe或creo的动画装配怎么实现其中的某个子装配的分解装配