下载此文档

北信-实验三-二叉树.doc


文档分类:IT计算机 | 页数:约8页 举报非法文档有奖
1/8
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/8 下载此文档
文档列表 文档介绍
实  验 报 告
课程名称 ﻩ 数据结构 ﻩ  
实验项目 二叉树的建立与遍历  
实验仪器    PC      
系     别:     计算机科学与技术
班级\学号:  计科0902/200
姓   名:       高锋      
日 期:   
成 绩:         
指导老师 :      张 仰 森      
一、目的和要求: 
1、熟练掌握二叉树的定义、性质和存储结构;
2、熟练掌握二叉树的三种遍历和线索化以及遍历算法的各种描述形式;
3、学会编写实现树的各种操作的算法。
二、实验题目: ﻫ二叉树的建立与遍历:掌握建立二叉树的方法,实现先序、中序、后序三种遍历(递归和非递归)算法;
三、源程序(递归和非递归遍历)
#include〈>
#include〈>
#define TRUE 1
#define FALSE 0
//树节点结构体
typedef struct TNode{
char data;
struct TNode *lc,*rc;
}*Tree;
//栈结构体
typedef struct Stack{
Tree *top,*base;  //元素为树节点指针的指针!
int stacksize;
}stack;
//栈的初始化
void InitStack(stack &s)

// printf(”init\n");
   =(Tree *)malloc(sizeof(TNode)*100);//初始化100个空间
if(!s。base)
      {
      printf("error!\n");
       return;
  }
  =;
  =0;

//压栈操作
void push(stack &s,Tree t)
{
   *s.top = t;
//   printf(”push %c\n",(*s.top)—>data);
  ++; //栈顶指针+1
  s.stacksize++;

//出栈操作
Tree pop(stack &s)
{
//   Tree *p;
if(==s.base) //判断是否为空栈
ﻩ {
ﻩ   printf("stack empty error!\n");
   return NULL;
ﻩﻩ}
s.stacksize--;
// p=s.top-1;
//    printf("pop %c\n",(*p)->data);
return *(--s。top); //返回栈顶元素:树节点指针

//获得栈顶元素
Tree getTop(stack &s)
{
if(

北信-实验三-二叉树 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数8
  • 收藏数0 收藏
  • 顶次数0
  • 上传人sxlw2017
  • 文件大小48 KB
  • 时间2021-05-06