您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> C/C++ >> 求高手指导如何做操作界面(数据结构实验——二叉树)

求高手指导如何做操作界面(数据结构实验——二叉树)

来源:网络整理     时间:2016/7/2 20:36:50     关键词:

关于网友提出的“ 求高手指导如何做操作界面(数据结构实验——二叉树)”问题疑问,本网通过在网上对“ 求高手指导如何做操作界面(数据结构实验——二叉树)”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: 求高手指导如何做操作界面(数据结构实验——二叉树)
描述:

主函数:
  void main()
{
int no;
BTNode *b,*p,*lp,*rp;
CreateBTNode(b,"A(B(D,E(H(J,K(L,M(,N))))),C(F,G(,I)))"); 
printf("请输入操作序号:\n1:输出二叉树\n2:输出H结点的左右孩子结点值\n3:输出二叉树的深度\n4:输出二叉树的宽度\n5:输出二叉树的结点个数\n6:输出二叉树的叶子结点个数\n7:结束\n");
scanf("%d",&no);
while(1)
{
switch(no)
{
case 1:
printf("二叉树为:\n");DispBTNode(b);break;
case 2:
{
printf("H结点的左右孩子结点值为:\n");
p=FindNode(b,'H');
if (p!=NULL)
{
lp=LchildNode(p);
if (lp!=NULL) 
printf("左孩子为%c\n ",lp->data);
else
printf("无左孩子\n ");
rp=RchildNode(p);
if (rp!=NULL) 
printf("右孩子为%c\n",rp->data);
else
printf("无右孩子\n ");
}
}break;
case 3:
printf("二叉树的深度为:%d\n",BTNodeHigh(b));break;
case 4:
printf("二叉树的宽度为:%d\n",BTWidth(b));break;
case 5:
printf("二叉树的结点个数为:%d\n",Nodes(b));break;
case 6:
printf("二叉树的叶子结点个数为:%d\n",LeafNodes(b)); break;
case 7:
return 1;
}
}
}
调试发现是死循环,好像break函数没起作用,是哪里有错,请指教!不胜感激


解决方案1:

把scanf("%d",&no);也要放到while里面


以上介绍了“ 求高手指导如何做操作界面(数据结构实验——二叉树)”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/2221073.html

相关图片

相关文章