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

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

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

 1.设计一个算法,判断一个算术表辑ּ中的括号是否配对。算术表辑ּ保存在带头结点的单@环链表中Q每个结Ҏ(gu)两个域:(x)ch?/span>linkQ其?/span>ch域ؓ(f)字符cd。?a target="_blank">南京邮电(sh)大学 2000五?/span>

  【参考答案?/span>

  [题目分析]表达式中的括h以下三对Q‘(’、‘)(j)’、?/span>[’、?/span>]’、?/span>{’、?/span>}’,使用栈,当ؓ(f)左括h入栈Q右括号Ӟ若栈是其对应的左括P则退栈,若不是其对应的左括号Q则l论为括号不配对。当表达式结束,若栈为空Q则l论表达式括号配对,否则Q结辑ּ括号不配寏V?/span>

  int Match(LinkedList la)

  //术表达式存储在?/span>la为头l点的单循环链表中,本算法判断括h否正配?/span>

  {char s[]; //s为字W栈Q容量够大

  p=la->link; //p为工作指针,指向待处理结?/span>

  StackInit(s); //初始化栈s

  while (p!=la) //循环到头l点为止

  {switch (p->ch)

  {case ?/span>(?/span>:push(s,p->ch); break;

  case ?/span>)?/span>:if(StackEmpty(s)||StackGetTop(s)!=?/span>(?/span>)

  {printf(“括号不配对\n?/span>); return(0);} else pop(s);break;

  case ?/span>[?/span>:push(s,p->ch); break;

  case ?/span>]?/span>: if(StackEmpty(s)||StackGetTop(s)!=?/span>[?/span>)

  {printf(“括号不配对\n?/span>); return(0);} else pop(s);break;

  case ?/span>{?/span>:push(s,p->ch); break;

  case ?/span>}?/span>: if(StackEmpty(s)||StackGetTop(s)!=?/span>{?/span>)

  {printf(“括号不配对\n?/span>); return(0);} else pop(s);break;

  } p=p->link; 后移指针

  }//while

  if (StackEmpty(s)) {printf(“括号配?/span>\n?/span>); return(1);}

  else{printf(“括号不配对\n?/span>); return(0);}

  }//matchl束

  [法讨论]法中对非括L(fng)字符未加讨论。遇到右括号Ӟ若栈I或栈顶元素不是其对应的左圆Q方、花Q括P则结论括号不配对Q退行。最后,若栈不空Q仍l论括号不配寏V?/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