77范文网 - 专业文章范例文档资料分享平台

C语言数据结构 创建和遍历二叉树 源码

来源:网络收集 时间:2018-11-21 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

Create&TraverseBiTree

程序已就绪,可直接编译运行

#include #include

#define OK 1 #define TRUE 1 #define ERROR 0 #define FALSE 0 #define OVERFLOW -1

#define STACK_INIT_SIZE 200; #define STACKINCERMENT 20;

typedef int status; typedef char TElemType;

//-----二叉树的二叉链表存储表示----- typedef struct BiTNode {

TElemType data;

struct BiTNode *lchild,*rchild;//左右孩子指针 }BiTNode,*BiTree;//*BiTree表示指向该结构体的指针

//-----单链队列-----队列的链式存储结构

typedef BiTreeQElemType; typedef struct QNode {

QElemType data; struct QNode *next; }QNode,*QueuePtr;

typedef struct {

QueuePtr front; QueuePtr rear; }LinkQueue;

//------队列基本操作------

status InitQueue(LinkQueue&Q)

{//构造一个空队列Q

Q.front=(QueuePtr)malloc(sizeof(QNode)); Q.rear=Q.front;

if(!Q.front)exit(OVERFLOW); Q.front->next=NULL; return OK; }//InitQueue

status EnQueue(LinkQueue&Q,QElemType e) {//插入元素e为Q的新队尾元素 QueuePtr p;

p=(QueuePtr)malloc(sizeof(QNode)); if(!p)exit(OVERFLOW); p->data=e; p->next=NULL; Q.rear->next=p; Q.rear=p; return OK; }//EnQueue

status DeQueue(LinkQueue&Q,QElemType&e)

{//若队列不空,则删除Q的队头元素,用e返回其值,并返回OK

//否则返回ERROR QueuePtr p;

if(Q.front==Q.rear)return ERROR; p=Q.front->next; e=p->data; Q.front->next=p->next;

if(Q.rear==p)Q.rear=Q.front; free(p); return OK; }//DeQueue

status QueueEmpty(LinkQueue&Q) { intlen;

len=Q.rear-Q.front; if(len==0)return OK; return ERROR; }//QueueEmpty

status DestroyQueue(LinkQueue&Q) {//销毁队列Q while(Q.front)

{

Q.rear=Q.front->next; free(Q.front); Q.front=Q.rear; }

return OK; }//DestroyQueue

//-----二叉树的基本操作函数----- status CreateBiTree(BiTree&T)

//按先序次序输入二叉树中结点的值(一个字符),空格字符表示空树 //构造二叉链表表示的二叉树T {

char ch; scanf(\if(ch==' ')T=NULL; else {

if(!(T=(BiTNode*)malloc(sizeof(BiTNode))))exit(OVERFLOW); T->data=ch; //生成根节点 CreateBiTree(T->lchild); //构造左子树 CreateBiTree(T->rchild); //构造右子树

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库C语言数据结构 创建和遍历二叉树 源码在线全文阅读。

C语言数据结构 创建和遍历二叉树 源码.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/291107.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: