数据结构之---C语言实现二叉树的顺序存储

//二叉树的顺序存储
//这里利用循环队列存储数据
//杨鑫
#include 
#include 
#include 
#include 
#define MAXQSIZE 5 // 最大队列长度(对于循环队列,最大队列长度要减1) 
#define MAX_TREE_SIZE 100 // 二叉树的最大结点数 
#define ClearBiTree InitBiTree // 在顺序存储结构中,两函数完全一样 
typedef char TElemType;
typedef TElemType SqBiTree[MAX_TREE_SIZE]; // 0号单元存储根结点 
typedef int QElemType;

TElemType Nil = ' '; // 设空为字符型的空格符 


typedef struct
{
	int level;	//结点的层
	int	order;	//本层序号(按满二叉树计算)
}position;

typedef struct
{
	QElemType *base; // 初始化的动态分配存储空间 相当于一个数组 
	int front; 	// 头指针,若队列不空,指向队列头元素,相当于一个数组下标
	int rear; 	// 尾指针,若队列不空,指向队列尾元素的下一个位置
				// 相当于一个数组下标
}SqQueue;



// 构造空二叉树T。因为T是固定数组,不会改变,故不需要& 
int InitBiTree(SqBiTree T)
{
	int i;
	
	for(i=0;i

你可能感兴趣的:(C,&&,C++,数据结构,算法)