二叉树的基本操作小结

来源:计算机等级考试    发布时间:2012-08-28    计算机等级考试视频    评论

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

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

  代码

  #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);

  }

  }

上一页12345下一页

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答