设为首页 加入收藏

TOP

c语言二叉树--实现(二)
2013-01-13 11:00:36 来源: 作者: 【 】 浏览:1350
Tags:语言 实现

 

  q->left=s->right;

  s->right=p->right;

  }

  if(q==p)

  t->root=s;

  else

  flag=1;

  }

  if(flag)

  {

  if(p==f->left)

  f->left=s;

  else

  f->right=s;

  }

  free(p);

  }

  else

  printf("Don't have the node\n");

  }

  /*遍历二叉树*/

  void traversing_binary_tree( struct tree *t)

  {

  struct node *stack[MAXSIZE], *p;

  p=t->root;

  int top = -1;

  if (p!= NULL)

  {

  /* 根节点入栈 */

  top++;

  stack[top] = p;

  /* 栈不空时循环 */

  while (top > -1)

  {

  /* 出栈并访问该节点 */

  p = stack[top];

  top--;

  printf("%4d\n ", p->score);

  /* 右孩子入栈 */

  if (p->right!= NULL)

  {

  top++;

  stack[top] = p->right;

  }

  /* 左孩子入栈 */

  if (p->left != NULL)

  {

  top++;

  stack[top] = p->left;

  }

  }

  printf("\n");

  }

  }

  int main()

  {

  struct tree *newtree;

  int score1;

  char c;

  score1=0;

  newtree=create_tree();

  printf("二叉树:\n");

  while(1)

  {

  printf("#------------#\n");

  printf("#  I:添加分数\n");

  printf("#  P:打印分数列表\n");

  printf("#  S:查找学生\n");

  printf("#  D:删除学生\n");

  printf("#  E:退出\n");

  printf("#------------#\n");

  printf("请选择输入:");

  scanf("%s",&c);

  switch(c)

  {

  case 'I':

  case 'i':

  inseart_tree(newtree,400);

  inseart_tree(newtree,200);

  inseart_tree(newtree,300);

  inseart_tree(newtree,100);

  inseart_tree(newtree,500);

  inseart_tree(newtree,600);

  break;

  case 'P':

  case 'p':

  printf("打印分数列表:\n");

  traversing_binary_tree(newtree);

  break;

  case 'S':

  case 's':

  printf("请输入要查询的分数:");

  scanf("%d",&score1);

  search(newtree,score1);

  printf("The count is%d\nThe score is%d\n",newtree->count,newtree->root->score);

  break;

  case 'D':

  case 'd':

  printf("请输入要删除的分数:");

  scanf("%d",&score1);

  delete_tree(newtree,score1);

  printf("删除OK!\n");

  break;

  case 'E':

  case 'e':

  exit(0);

  }

  }

  }

      

首页 上一页 1 2 3 4 5 下一页 尾页 2/5/5
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇C语言学习——单链表 下一篇排序算法系列:计数排序

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: