首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 计算机考试 > 软件考试 > 考试试题 >

2008年12月程序员笔试考前练习(20)

2008-12-15 
程序员笔试考前练习

    2008年下半年软件考试因故推迟了,这未尝不是一件好事,对于那些准备还不够充分的考生来说,现在正是查漏补缺的好时机,本站为您整理了考前练习题,希望对您有所帮助,祝您考出好成绩!

    1.假设以带头结点的单循环链表作非递减有序线性表的存储结构。函数deleteklist(LinkList head)的功能是删除表中所有数值相同的多余元素,并释放结点空间。
  例如:链表初始元素为:
  (7,10,10,21,30,42,42,42,51,70)
  经算法操作后变为:
  (7,10,21,30,42,51,70)
  【函数1】
  void deleteklist(LinkList head)
  {
  LinkNode*p,*q;
  p=head->next;
  while(p!=head)
  {
  q=p->next;
  while( (1) )
  {
  (2) ;
  free(q);
  q=p->next;
  }
  p=p->next;
  }
  }

  【说明2】
  已知一棵完全二叉树存放于一个一维数组T[n]中,T[n]中存放的是各结点的值。下面的程序的功能是:从T[0]开始顺序读出各结点的值,建立该二叉树的二叉链表表示。
  【函数2】
  #include
  typedef struct node {
  int data;
  stuct node leftChild,rightchild;
  }BintreeNode;
  typedef BintreeNode*BinaryTree;
  void ConstrncTree(int T[],int n,int i,BintreeNode*&ptr)
  {
  if(i>=n) (3) ;∥置根指针为空
  else
  {
  ptr=-(BTNode*)malloc(sizeof(BTNode))
  ptr->data=T[i];
  ConstrucTree(T,n,2*i+1, (4) );
  ConstrucTree(T,n, (5) ,ptr->rightchild);
  }
  }
  main(void)
  {/*根据顺序存储结构建立二叉链表*/
  Binarytree bitree;int n;
  printf("please enter the number of node:\n%s";n);
  int*A=(int*)malloc(n*sizeof(int));
  for(int i=0;i<n;i++)scanf("%d,A+i);/*从键盘输入结点值*/
  for(int i=0;i<n;i++)printf("%d",A[i]);
  ConstructTree(A,n,0,bitree);
  }

  答案:
  (1)q!=head &&q->data==p->data
  (2)p->next=q->next
  (3)ptr=NULL
  (4)ptr->leftchild
  (5)2*i+2

    2.阅读下列说明和流程图,将应填入(n)的语句写在答题纸的对应栏内。
  【流程图说明】
  下面的流程(如图1所示)用N-S盒图形式描述了在一棵二叉树排序中查找元素的过程,节点有3个成员:data,left和right。其查找的方法是:首先与树的根节点的元素值进行比较:若相等则找到,返回此结点的地址;若要查找的元素小于根节点的元素值,则指针指向此结点的左子树,继续查找;若要查找的元素大于根节点的元素值,则指针指向此结点的右子树,继续查找。直到指针为空,表示此树中不存在所要查找的元素。
  【算法说明】
  【流程图】
  将上题的排序二叉树中查找元素的过程用递归的方法实现。其中NODE是自定义类型:
  typedef struct node{
  int data;
  struct node*left;
  struct node*right;
  }NODE;
  【算法】
  NODE*SearchSortTree(NODE*tree,int e)
  {
  if(tree!=NULL)
  {
  if(tree->data<e)
  (4) ;∥小于查找左子树
  else if(tree->data<e)
  (5) ;∥大于查找左子树
  else return tree;
  }
  return tree;
  }

  【答案】
  (1)p=p->left
  (2)p=p->right
  (3)return P
  (4)return SearchSortTree(tree->left)
  (5)return SearchSortTree(tree->right)



3COME考试频道为您精心整理,希望对您有所帮助,更多信息在http://www.reader8.com/exam/

热点排行