首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和C语言函数,将应填入(n)。 【说明】 已知包含头结点(不存储元素)的单链表的元素已经按照非递减方式排序,函数 compress(NODE*head)的功能是去掉其中重复的元素,使得链表中的元素互不相同。 处理过程中,当元素重复出
阅读以下说明和C语言函数,将应填入(n)。 【说明】 已知包含头结点(不存储元素)的单链表的元素已经按照非递减方式排序,函数 compress(NODE*head)的功能是去掉其中重复的元素,使得链表中的元素互不相同。 处理过程中,当元素重复出
admin
2009-01-20
87
问题
阅读以下说明和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://kaotiyun.com/show/MsjZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
用图表展示数据时,以下关于选用色彩的叙述中,不正确的是______。
1,2,…,5五个数中,任取两个数都可以算出平均值,其中有些平均值是相等的。那么,不同的平均值共有(26)个。
数据源有多种,从传感器、智能仪表自动发送过来的数据属于______。
在Excel的A1单元格中输入:“=6+16+MIN(16,6)”,按回车键后,A1单元格中显示的值为______。
以下维护操作系统的做法中,()是不恰当的。
某年级有甲乙两班,在最近举行的全年级数学考试中,甲班平均成绩为P,乙班平均成绩为Q,甲班人数占全年级的比例为α,则全年级的平均成绩为()。
新建一个Word文档,编辑结束后,执行“文件”菜单中的“保存”命令,则______。
Word定时自动保存功能可以()。
计算机网络中,防火墙的功能不包括________________。
在Excel2010的A1单元格中输入函数“=IF(1<>2,1,2)”,按回车键后,A1单元格中的值为________________。
随机试题
扩孔加工属于孔的( )。
企业为增值税一般纳税企业,使用增值税税率为17%,使用的消费税税率为10%。该企业委托其他单位(增值税一般纳税企业)加工一批属于应税消费品的原材料(非金银首饰),该批委托加工原材料收回后用于继续生产应税消费品。发出原材料的成本为180万元,支付的不含增值税
PowerPoint2010中插入图片,下列说法错误的是________。
生态系统中的物质循环发生在()。
A.温室效应 B.光化学烟雾 C.汞的甲基化 D.酸雨 E.水体富营养化氮氧化物与碳氢化物反应生成的二次污染物属于
李某因琐事将邻居王某打成轻伤。案发后,李家积极赔偿,赔礼道歉,得到王家谅解。如检察院根据双方和解对李某作出不起诉决定,需要同时具备下列哪些条件?(2013年试卷2第71题)
我国的国有企业改革,从()起步,过渡到广泛推行企业承包经营责任制和转换企业经营机制,最终的落脚点是通过股份制改造建立现代企业制度。
“申报日期”栏应填()。“经营单位”栏应填()。
请将下列类定义补充完整。classBase{public:voidfun(){cout<<"Base::fun"<<end1;}};classDerived:publicBase{public:voidfun(){
Peoplewhohavealotofstressaremorelikelytobecomesick.
最新回复
(
0
)