(zhn)现在的位置Q?/strong> 跨考网频道考研报名正文

数据l构W三章设计题?qing)参考答案[8]_跨考网

最后更新时_(d)(x)2011-11-18 13:44:11
辅导评Q?a target="_blank" rel="nofollow">暑期集训 在线咨询
复习(fn)紧张Q焦头烂额?逆风轻袭Q来跨考秋季集训营Q帮你寻Ҏ(gu)Q定Ҏ(gu)Q?/span> 了解一?>

         1. 假设以带头结点的循环链表表示队列Qƈ且只设一个指针指向队点,但不讑֤指针Q如图所C(~者略Q,请写出相应的入队列和出队列算法。?a target="_blank">西安?sh)子U技大学 1999计应?/span> ?/span> Q?/span>10分)?/span>

  【参考答案?/span>

  本题与上题本质上相同Q现用类C语言~写入队和出队算法?/span>

  Q?/span>1Q?/span>void EnQueue (LinkedList rear, ElemType x)

  // rear是带头结点的循环N列的指针,本算法将元素x插入到队?/span>

  { s= (LinkedList) malloc (sizeof(LNode)); //甌l点I间

  s->data=x; s->next=rear->next; //?/span>sl点铑օ队尾

  rear->next=s; rear=s; //rear指向新队?/span>

  }

  Q?/span>2Q?/span>void DeQueue (LinkedList rear)

  // rear是带头结点的循环N列的指针,本算法执行出队操作,操作成功输出队头元素Q否则给出出错信息?/span>

  { if (rear->next==rear) { printf(“队I?/span>\n?/span>); exit(0);}

  s=rear->next->next; //s指向队头元素Q?/span>

  rear->next->next=s->next; //队头元素出队?/span>

  printf (“出队元素是”,s->data);

  if (s==rear) rear=rear->next; //I队?/span>

  free(s);

  }

  

  2. 如果允许在@环队列的两端都可以进行插入和删除操作。要求:(x)

  Q?/span>1Q写出@环队列的cd定义Q?/span>

  Q?/span>2Q写出“从队尾删除”和“从队头插入”的法。【北方交通大?/span> 1994 ?/span> Q?/span>12分)?/span>

  【参考答案?/span>

  [题目分析] 用一l数l?/span> v[0..M-1]实现循环队列Q其?/span>M是队列长度。设队头指针 front和队指?/span>rearQ约?/span>front指向队头元素的前一位置Q?/span>rear指向队尾元素。定?/span>front=rear时ؓ(f)队空Q?/span>(rear+1)%m=front 为队满。约定队头端入队向下标小的方向发展,队尾端入队向下标大的方向发展?/span>

  Q?/span>1Q?/span>#define M 队列可能辑ֈ的最大长?/span>

  typedef struct

  { elemtp data[M];

  int front,rear;

  } cycqueue;

  Q?/span>2Q?/span>elemtp delqueue ( cycqueue Q)

  //Q是如上定义的循环队列Q本法实现从队ֈ除,若删除成功,q回被删除元素,否则l出出错信息?/span>

  { if (Q.front==Q.rear) {printf(“队列空?/span>); exit(0);}

  Q.rear=(Q.rear-1+M)%M; //修改队尾指针?/span>

  return(Q.data[(Q.rear+1+M)%M]); //q回出队元素?/span>

  }//从队ֈ除算法结?/span>

  void enqueue (cycqueue Q, elemtp x)

  // Q是顺序存储的循环队列Q本法实现“从队头插入”元?/span>x?/span>

  {if (Q.rear==(Q.front-1+M)%M) {printf(“队满?/span>; exit(0);)

  Q.data[Q.front]=x; //x 入队?/span>

  Q.front=(Q.front-1+M)%M; //修改队头指针?/span>

  }// l束从队头插入算法?/span>

跨考考研评

班型 定向班型 开班时?/td> 高定?/td> 标准?/td> 评介绍 咨询
U季集训 冲刺?/td> 9.10-12.20 168000 24800?/td> 班面授+专业??+专业译֮向辅?协议加强评(高定?+专属规划{疑(高定?+_化答?复试资源(高定?+复试译֌(高定?+复试指导(高定?+复试班主?v1服务(高定?+复试面授密训(高定?+复试1v1(高定?
2023集训畅学 非定向(政英?数政qQ?/td> 每月20?/td> 22800?协议? 13800?/td> 先行阶在U课E?基础阶在U课E?强化阶在U课E?真题阶在U课E?冲刺阶在U课E?专业NҎ(gu)一对一评+班主dE督学服?全程规划体系+全程试体系+全程_化答?择校择专业能力定位体p?全年关键环节指导体系+初试加强?初试专属服务+复试全科标准班服?/td>

①凡本网注明“稿件来源:(x)跨考网”的所有文字、图片和韌频稿Ӟ版权均属北京学博教育咨询有限公司Q含本网和跨考网Q所有,M媒体、网站或个h未经本网协议授权不得转蝲、链接、{帖或以其他Q何方式复制、发表。已l本|协议授权的媒体、网站,在下载用时必须注明“稿件来源,跨考网”,q者本|将依法q究法律责Q?/p>

②本|未注明“稿件来源:(x)跨考网”的?囄Eg均ؓ(f)转蝲E,本网转蝲仅基于传递更多信息之目的Qƈ不意味着再通{载稿的观Ҏ(gu)证实其内容的真实性。如其他媒体、网站或个h从本|下载用,必须保留本网注明的“稿件来源”,q自负版权等法律责Q。如擅自改为“稿件来源:(x)跨考网”,本网依法追I法律责仅R?/p>

③如本网转蝲E涉?qing)版权等问题Q请作者见E后在两周内速来?sh)与跨考网联系Q电(sh)话:(x)400-883-2220