首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
已知L为没有头结点的单链表中第一个结点的指针,每个结点数据域存放一个字符,该字符可能是英文字母字符或数字字符或其它字符,编写算法构造三个以带头结点的单循环链表表示的线性表,使每个表中只含同一类字符。(要求用最少的时间和最少的空间)。
已知L为没有头结点的单链表中第一个结点的指针,每个结点数据域存放一个字符,该字符可能是英文字母字符或数字字符或其它字符,编写算法构造三个以带头结点的单循环链表表示的线性表,使每个表中只含同一类字符。(要求用最少的时间和最少的空间)。
admin
2013-07-12
45
问题
已知L为没有头结点的单链表中第一个结点的指针,每个结点数据域存放一个字符,该字符可能是英文字母字符或数字字符或其它字符,编写算法构造三个以带头结点的单循环链表表示的线性表,使每个表中只含同一类字符。(要求用最少的时间和最少的空间)。
选项
答案
void OneToThree(LinkList&L,&la,&ld,&lo){ /*L是无头结点的单链表第一个结点的指针,链表中的数据域存放字符。本算法将链表L分解成含有英文字母字符、数字字符和其它字符的带头结点的三个循环链表*/ la:(LinkList)malloc(sizeof(LNode)); //建立三个链表的头结点 ld=(LinkList)malloc(sizeof(LNode)) ; lo=(LinkList)malloc(sizeof(LNode)); la->next=la; //置三个循环链表为空表 ld->next=ld; lo->next=lo; while(L!=NULL){ //分解原链表 r=L;L=L->next; //L指向待处理结点的后继 if(r->data>=’a’&&r->data<=’z’|| r->data>=’A’&&r->data<=’z’){ r->next=la->next; //处理字母字符 la->next=r; } else if(r->data>=’0’&&r->data<=’9’){ r->.next=ld->next; //处理数字字符 ld->next=r; } else { r->next=lo->next; //处理其它符号 lo->next=r; } } }
解析
将一个结点数据域为字符的单链表,分解成含有字母字符、数字字符和其它字符的三个循环链表,首先要构造分别含有这三类字符的表头结点。然后从原链表第一个结点开始,根据结点数据域是字母字符、数字字符和其它字符而分别插入到三个链表之一的链表。注意:不要因结点插入新建链表而使原链表断链。另外,题目并未要求链表有序,插入采用“头插法”,每次插入的结点均成为所插入链表的第一元素的结点即可。
转载请注明原文地址:https://jikaoti.com/ti/T2ajFFFM
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
1988年起,苏联民族矛盾激化,民族分离运动加剧,第二次较大规模的民族冲突是()。
在新民主主义革命中,进步势力和革命的主要力量是()。
系统阐明社会主义初级阶段理论是在()。
1938年,英、法、德、意在德国召开会议讨论对捷克斯洛伐克的苏台德地区的问题,这次会议被称为(),它把英法的绥靖政策推到了顶峰,加速了二战的爆发。
下列关于第三次科技革命的说法,不正确的是()。
我国第一部系统的史学理论著作是()。
中古时代实行索贡巡行赋税征收方式的国家是()。
【伊壁鸠鲁】中国人民大学2015年世界通史真题
明末清初,著名学者()抗清失败,前往日本讲学,传播中国文化。
一棵二叉树的繁茂度定义为R层结点数的最大值与树的高度的乘积。编写一个算法求二叉树的繁茂度。
随机试题
初产妇,28岁。妊娠38周,诉肋下有块状物。腹部检查:子宫呈纵椭圆形,胎先露部较软且不规则,胎心位于脐上偏左。本例应诊断为
公安机关的职责是由公安机关的性质所决定的,而公安机关的任务则是由公安机关的职责所决定。()
行政组织的帕金森现象主要包括()
设函数f(x)在点x=1处可导,且f′(1)=1,求
濒死患者最后消失的感觉是
李某,女性,25岁。因上呼吸道感染发热入院治疗,其主治医生王某看李某衣着打扮精致,还拿着香奈儿限量款手提包,所以让李某做了许多不必要的检查和治疗,且未经李某同意给其应用了国外进口抗生素,李某病愈结账时才知道此药价格昂贵,且医保不能报销。关于医生王某的行为,
项目团队的发展过程中,磨合阶段的各种磨合包括()。
常见的组织形式有()。
1215年的()被认为是英国自由民主制度的基石。
求
最新回复
(
0
)