对于二叉树,顺序存储结构一般只用于完全二叉树。
#include<iostream>
using namespace std;
typedef char ElemType;
typedef struct BiNode
{
ElemType data;
BiNode *lchild,*rchild;
}BiNode,*BiTree;
int index = 0;
char node[10]="AB#D##C##";
void CreatBiTree(BiTree *T)
{
ElemType ch;
// scanf("%c",&ch);
ch = node[index++];
if('#' == ch)
{
*T = NULL;
}
else
{
*T = (BiTree)malloc(sizeof(BiNode));
if(!(*T))
exit(0);
(*T)->data = ch;
CreatBiTree(&(*T)->lchild);
CreatBiTree(&(*T)->rchild);
}
}
void PreOrderTraverse(BiTree T)
{
if (NULL == T)
{
return ;
}
cout<<(T->data);
PreOrderTraverse(T->lchild);
PreOrderTraverse(T->rchild);
}
void InOrd