首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和C语言函数,将应填入(n)。 【说明】 已知包含头结点(不存储元素)的单链表的元素已经按照非递减方式排序,函数 compress(NODE*head)的功能是去掉其中重复的元素,使得链表中的元素互不相同。 处理过程中,当元素重复出
阅读以下说明和C语言函数,将应填入(n)。 【说明】 已知包含头结点(不存储元素)的单链表的元素已经按照非递减方式排序,函数 compress(NODE*head)的功能是去掉其中重复的元素,使得链表中的元素互不相同。 处理过程中,当元素重复出
admin
2009-01-20
67
问题
阅读以下说明和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
程序员下午应用技术考试
软考初级
相关试题推荐
在Word2003的编辑状态下,连续进行了三次插入操作,当单击两次“撤消”命令后,则(31)。
某企业准备将3项工作A、B、C分配给甲、乙、丙三人,每人分别做一项。估计各人完成各项工作所需的天数如下表所示:为使完成这三项工作所需的总天数最少,应选最优的分配方案。在最优分配方案中,(69)。
计算机数据报表在信息处理过程中具有重要的作用,但这种作用不包括()。
在Excel中,A1单元格中显示的值为1.234E+05,下列选项中与其等值的是______。
信息处理技术员的网络信息检索能力不包括(10)。
为查看Windows系统当前正在运行哪些应用程序或进程,可用(43)组合键实现。
下列选项中,具有连接范围窄、用户数少、配置容易、连接速率高等特点的网络是(8)。
下列选项中,不属于Access数据库对象的是______。
以下关于信息存储的叙述中,不正确的是(66)。
LCD显示器的响应时间为(2)时,显示的效果更好。
随机试题
某公司库存原材料一批,成本20万元,期末市价22万元,期末在资产负债表中按20万元列示该项资产的价值,这种做法采用的计量属性是()
婴儿身长的增长与以下哪项因素无关()。
下列疾病的患者中,最易合并疖病的是
吊篮的安全装置不包括()。
会计系统中报表子系统与总账子系统是两个相对独立的系统。()
根据《物权法》的规定,下列关于各类权利设立的说法中,错误的有()。
根据所给材料撰写网络专题策划方案。2014年4月,李克强总理致信北京三联书店全体员工,称赞三联书店创建24小时不打烊书店是对全民阅读的生动践行,希望把24小时不打烊书店打造成为城市的精神地标,引领手不释卷蔚然成风。某读书网站编辑张弘看到
在5月4日,习近平总书记曾说:“广大青年一定要坚定理想信念。理想指引人生方向。信念决定事业成败。没有理想信念,就会导致精神上‘缺钙’。”对此。你怎么理解?
某明文使用恺撒密码来加密,在密钥为3时TEST的密文为()。
【B1】【B11】
最新回复
(
0
)