首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和C语言函数,将应填入(n)。 【说明】 已知包含头结点(不存储元素)的单链表的元素已经按照非递减方式排序,函数 compress(NODE*head)的功能是去掉其中重复的元素,使得链表中的元素互不相同。 处理过程中,当元素重复出
阅读以下说明和C语言函数,将应填入(n)。 【说明】 已知包含头结点(不存储元素)的单链表的元素已经按照非递减方式排序,函数 compress(NODE*head)的功能是去掉其中重复的元素,使得链表中的元素互不相同。 处理过程中,当元素重复出
admin
2009-01-20
71
问题
阅读以下说明和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
程序员下午应用技术考试
软考初级
相关试题推荐
在Excel中,若A1单元格的格式为000.00,在该单元格中输入数值36.635,按回车键后,则A1单元格中的值为(45)。
在Word2003中,连续执行了多次复制操作,则系统会______。
计算机系统是由__________组成的。
Word2007默认的文件扩展名是(37)。
某工作站无法访问域名为www.test.com的服务器,此时使用ping命令按照该服务器的IP地址进行测试,响应正常。但是按照服务器域名进行测试,出现超时错误。此时可能出现的问题是(17)。
计算机维护的注意事项中不包括________。
下列选项中,具有连接范围窄、用户数少、配置容易、连接速率高等特点的网络是(8)。
字符串编辑有3种基本操作:在指定位置插入一个字符、在指定位置删除一个字符、在指定位置用另一个字符替换原来的字符。将字符串ABCDE,编辑成ECDFE,至少需要执行(6)次基本操作。
在PowcrPoint2010中,幻灯片________________是一张特殊的幻灯片,包含已设定格式的占位符。这些占位符是为标题、主要文本和所有幻灯片中出现的背景项目而设置的。
随机试题
胃溃疡与十二指肠溃疡的主要鉴别依据是
根据《中华人民共和国野生动物保护法》对野生动物保护的有关规定,下列说法正确的是()。
下列影响工程项目的风险中,属于组织风险的是()。
常见的建设工程索赔不包括( )。
(2016年)甲公司2015年12月31日以20000元价格处置一台闲置设备,该设备于2007年12月以80000元价格购入,并当期投入使用,预计可使用年限为10年,预计残值率为零。按年限平均法计提折旧(均与税法规定相同)。假设甲公司适用企业所得税税率为2
常见的打印机有()。
材料一为了创建平安校园,学校开展了交通安全知识和禁毒知识等方面的宣传教育活动。文化、工商等部门对校园周边的网吧、流动食品摊点进行了清理整顿。材料二在放学的路上,小吴看到同学小陈遭社会不良青年李某的敲诈和殴打,便拨打110报警,公安民警很快将李某
中国书法_________,是我国民族文化的瑰宝。书法以美的点画、字形和章法_________了书写者的艺术修养、性格气质和精神境界。研习、欣赏书法作品,_________可以增加书写的美感,_________能增进对民族文化的了解和热爱,从而培养高雅的审
陈某因病入院经抢救无效而死亡,这在民法上属于()。
I’minterestedinthecriminaljusticesystemofourcountry.Itseemstomethatsomethinghastobedone,ifwe’reto【B1】____
最新回复
(
0
)