首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和C语言函数,将应填入(n)。 【说明】 已知包含头结点(不存储元素)的单链表的元素已经按照非递减方式排序,函数 compress(NODE*head)的功能是去掉其中重复的元素,使得链表中的元素互不相同。 处理过程中,当元素重复出
阅读以下说明和C语言函数,将应填入(n)。 【说明】 已知包含头结点(不存储元素)的单链表的元素已经按照非递减方式排序,函数 compress(NODE*head)的功能是去掉其中重复的元素,使得链表中的元素互不相同。 处理过程中,当元素重复出
admin
2009-01-20
108
问题
阅读以下说明和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
程序员下午应用技术考试
软考初级
相关试题推荐
在Windows XP资源管理器中的文件夹区域中,文件夹图标前标有“+”的、表示该文件夹中(38)。
在Access中,表和数据库的关系是(67)。
PowerPoint内置的动画效果中,不包括(60)。
某一个PPT文档共有8张幻灯片,现选中第4张幻灯片,改变幻灯片背景设置后,单击“应用”按钮,则______。
在Excel2003中,A1到E6单元格的值如下图所示,若在A7单元格中输入函数“=COUNTA(A1:E6)”,按回车键后,则A7单元格显示的值为(44)。
在Word2007默认状态下,调整表格中的宽度可以利用(40)________________进行调整。
在Excel2010中,设A1单元格中的值为20,A2单元格中的值为60,若在C1单元格中输入函数“=AVERAGE(A1,A2)”,按回车键后,,则C1单元格中的值为(
在Word中采用(47)可实现下图显示的排版格式。
删除Windows中某个应用程序的快捷方式,意味着(39)。
随机试题
用于治疗帕金森综合征的抗胆碱药物是
大剂量间歇疗法后偶可出现“流感样症候群”,表现为畏寒、寒战、发热、不适、呼吸困难、嗜睡及肌肉疼痛等的抗结核药是
城市交通运输业包括()。
缺货成本包括()。
前苏联教育家苏霍姆林斯基曾这样告诉教师:“你(教师)不仅仅是活的知识库,不仅仅是名专家,善于把理智财富传授给年青一代,并在他们心灵中点燃求知欲望和热爱知识的火花,你是创造未来人的雕塑家,是不同于他人的特殊雕塑家,教育创造真正的人,就是你的职业”试从教师职业
锐角成交法是指有的情况下,推销员采用的方式就是巧妙地把客户提出来的各种反对意见转换成相应的购买理由。这种把反对意见转化为相应购买理由的方式,就如同几何学中将一个锐角的任何一条边延伸就可以转变出一个钝角一样,因此被人们形象地称为锐角成交法。根据上述定义,以下
依次填入下列横线上的词语,最恰当的一组是()。①在学习、工作中,人总会碰到这样和那样的问题,碰到问题多向别人请教,这样才会有进步,俗话说得好,________。②我们对秦陵开展现代意义上的考古已有四十多年,多次震惊中外的考古大发
以下对于通货膨胀度量方法的衡量与评价当中,不属于消费物价指数CPI的优点的是()。
若有关系R(A,B,C,D)和S(C,D,E),则与表达式π3,4,7(σ4<5(R×S))等价的SQL语句如下:SELECT(53)FROM(54)WHERE(55);(55)
ItisnotdifficulttobepessimisticaboutthefutureofEuropeanbusiness.【T1】ComparedwiththeawesomestrengthofAmericaa
最新回复
(
0
)