首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和C语言函数,将应填入(n)。 【说明】 已知包含头结点(不存储元素)的单链表的元素已经按照非递减方式排序,函数 compress(NODE*head)的功能是去掉其中重复的元素,使得链表中的元素互不相同。 处理过程中,当元素重复出
阅读以下说明和C语言函数,将应填入(n)。 【说明】 已知包含头结点(不存储元素)的单链表的元素已经按照非递减方式排序,函数 compress(NODE*head)的功能是去掉其中重复的元素,使得链表中的元素互不相同。 处理过程中,当元素重复出
admin
2009-01-20
104
问题
阅读以下说明和C语言函数,将应填入(n)。
【说明】
已知包含头结点(不存储元素)的单链表的元素已经按照非递减方式排序,函数 compress(NODE*head)的功能是去掉其中重复的元素,使得链表中的元素互不相同。
处理过程中,当元素重复出现时,保留元素第一次出现所在的结点。
图2-1(a)、(b)是经函数compress()处理前后的链表结构示例图。
链表的结点类型定义如下:
typedef struct Node{
int data;
struct Node *next;
}NODE;
【C语言函数】
void compress(NODE *head)
{ NODE *ptr,*q;
ptr= (1); /*取得第一个元素结点的指针*/
while( (2)&& ptr->next) {
q=ptr->next;
while(q&&(3)) { /*处理重复元素*/
(4)q->next;
free(q);
q=ptr->next;
}
(5) ptr->next;
}/*end of while */
}/*end of compress*/
选项
答案
(1)head->next (2)ptr (3)q->data == ptr->data 或ptr->next->data==ptr->data,或其等价表示 (4)ptr->next (5)ptr
解析
本题考查基本程序设计能力。
链表上的查找、插入和删除运算是常见的考点。本题要求去掉链表中的重复元素,使得链表中的元素互不相同,显然是对链表进行查找和删除操作。
对于元素已经按照非递减方式排序的单链表,删除其中重复的元素,可以采用两种思路。
1.顺序地遍历链表,对于逻辑上相邻的两个元素,比较它们是否相同,若相同,则删除后一个元素的结点,直到表尾。代码如下:
ptr=head->next; /*取得第一个元素结点的指针*/
while (ptr && ptr->next){ /*指针ptr指示出重复序列的第一个元素结点*/
q=ptr->next;
while(q && ptr->data==q->data) { /*处理重复元素*/
ptr->next=q->next; /*将结点从链表中删除*/
free(q);
q=ptr->next; /*继续扫描后继元素*/
}
ptr=ptr->next;
}
2.对于每一组重复元素,先找到其中的第一个结点,然后向后查找,直到出现一个相异元素时为止,此时保留重复元素的第一个结点,其余结点则从链表中删除。
ptr=head->next; /*取得第一个元素结点的指针*/
while (ptr && ptr->next) { /*指针ptr指示出重复序列的第一个元素结点*/
q=ptr->next;
while(q && ptr->data==q->data) /*查找重复元素*/
q=q->next;
s=ptr->next; /*需要删除的第一个结点*/
ptr->next=q; /*保留重复序列的第一个结点,将其余结点从链表中删除*/
while (s && s!=q} { /*逐个释放被删除结点的空间*/
t = s->next; free(s); s = t;
}
ptr=ptr->next;
}
题目中采用的是第一种思路。
转载请注明原文地址:https://www.kaotiyun.com/show/MsjZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
某企业对多项已完成的数据处理任务进行了评估,按其满意度和重要性度量值为坐标,标在下图中,用小圆表示)。这些坐标点分别落入I、Ⅱ、Ⅲ、Ⅳ四个区中。领导认为,位于________区中的任务是需要优先改进的。
在数据库中能够唯一标识一个元组的属性或属性的组合称为()。
下列选项中,不属于信息安全基本要素的是(19)。
假设某Word文档中已存在宏“Marcol”,则下列方法中(48)不能正确使用这个宏。
下列软件中,属于系统软件的是()。
在Access中,表和数据库的关系是(67)。
描述事物的数据有绝对数据和相对数据之分。大气中氧气的含量属于相对数据,常用______形式表示。
在Excel2007中,设单元格A1中的值为-1,B1中的值为1,A2中的值为0,B2中的值为1,若在C1单元格中输入函数“=IF(AND(A1>0,B1>0),A2,B2)”,按回车键后,C1单元格中的值为______。
某一个PPT文档共有8张幻灯片,现选中第4张幻灯片,改变幻灯片背景设置后,单击“应用”按钮,则______。
在Excel2003中,A1到E6单元格的值如下图所示,若在A7单元格中输入计算众数的函数“=MODE(A1:E6)”,按回车键后,则.A7单元格显示的值为(47)。
随机试题
A.流感病毒B.轮状病毒C.两者均是D.两者均非有包膜()
形成脂褐素的细胞器是
一患者因车祸伤及颅面部,由一过性昏迷病史,急诊检查发现面中份凹陷,眶周淤血,咬合错乱,后牙早接触,前牙开。在检查过程中发现患者出现呼吸困难,可能的原因是
A、县级药品监督管理部门B、设区的市级药品监督管理部门C、省、自治区、直辖市人民政府药品监督管理部门D、国务院药品监督管理部门E、国务院卫生行政部门;根据《麻醉药品和精神药品管理条例》全国性批发企业向
根据我国宪法规定,下列有关审计机关的表述正确的是?()
国家出入境检验检疫部门依法对出口食品生产、加工、储存厂、库实行卫生注册登记管理。( )
在我国贷款人指的是在中国境内依法设立的( )。
材料一秦岭北麓自古水源充足、森林茂密,拥有优越的生态环境,史前时代就是人类祖先的定居地。北麓村落布局历经山麓地区特殊生态环境的考验,己持续发展千余年。下图是秦岭北麓户县段村落扇形分布示意图。材料二河流从小到大分级,分一到五级河流。秦岭北麓村
下面是党在不同历史时期对待富农政策的材料:【材料一】削弱富农经济上的势力,与打击他们窃取土地革命果实的企图。……没收他们多余的农具与好的田地,分给他们坏的“劳动分地”。——摘自1933年中央局关于查田运动决议【材料二】
假设一个有3个盘片的硬盘,共有4个记录面,转速为7200转/分,盘面有效记录区域的外直径为30cm,内直径为10cm,记录位密度为250位/mm,磁道密度为8道/mm,每磁道分16个扇区,每扇区512个字节,则该硬盘的非格式化容量和格式化容量约为(1),数
最新回复
(
0
)