设为首页 加入收藏

TOP

二叉树的基本操作小结
2014-10-30 22:15:19 来源: 作者: 【 】 浏览:63
Tags:基本操作 小结

  二叉树的一般操作,实现了下:


  主要练习了二叉树的非递归遍历,利用栈,和队列来完成。算法思想,没描述清楚,表达能力很差...崩溃....


  代码


  #include "stdio.h"


  #include "malloc.h"


  #define MAXSIZE 20


  //二叉树结点的结构体表示形式


  typedef struct node


  {


  char data;


  struct node* left,*right;


  }BTree;


  //栈的结构体表示形式


  typedef struct stackelem


  {


  BTree* a[MAXSIZE];


  int top;


  }Stack;


  //队列的结构体的表示形式


  typedef struct queueelem


  {


  BTree* b[MAXSIZE];


  int front,rear;


  }Queue;


  //创建二叉树,利用递归的方法


  BTree* Create()


  {


  char ch;


  scanf_s("%c",&ch);


  getchar();


  if (ch=='#')


  {


  return NULL;


  }


  else


  {


  BTree* btree=(BTree*)malloc(sizeof(BTree));


  if (NULL==btree)


  {


  return NULL;


  }


  btree->data=ch;


  btree->left=Create();


  btree->right=Create();


  return btree;


  }


  }


  //前序遍历,递归的方法


  void Preorder(BTree* bt)


  {


  if (NULL!=bt)


  {


  printf("%c ",bt->data);


  Preorder(bt->left);


  Preorder(bt->right);


  }


  }


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇如何解决系统补丁(KB971092)重.. 下一篇2010年计算机等考二级C语言学习常..

评论

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