2007年11月程序员下午试题[4]

程序员 责任编辑:bimawen 2008-08-12

添加老师微信

备考咨询

加我微信

摘要:试题四(共15分)阅读以下说明和C语言函数,将应填入(n)处的字句写在答题纸的对应栏内。[说明]已知包含头结点(不存储元素)的单链表的元素已经按照非递减方式排序,函数compress(NODE*head)的功能是去掉其中重复的元素,使得链表中的元素互不相同。处理过程中,当元素重复出现时,保留元素第一次出现所在的结点。图4-1(a)、(b

试题四(共15分)
阅读以下说明和C语言函数,将应填入 (n) 处的字句写在答题纸的对应栏内。
[说明]
已知包含头结点(不存储元素)的单链表的元素已经按照非递减方式排序,函数compress(NODE *head)的功能是去掉其中重复的元素,使得链表中的元素互不相同。
处理过程中,当元素重复出现时,保留元素第一次出现所在的结点。
图4-1(a)、(b)是经函数compress()处理前后的链表结构示例图。


图4-1

链表的结点类型定义如下:
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]  [2]  [3]  [4]  [5]  [6]  [7]  

更多资料
更多课程
更多真题
温馨提示:因考试政策、内容不断变化与调整,本网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!

软考备考资料免费领取

去领取