二叉树存储结构:
typedef struct Tnode
{
char data;
struct Tnode *lnode;
struct Tnode *rnode;
}Tnode;
typedef Tnode* type;
队列的实现:
struct queue
{
type member[max];
int tail,head;
};
void initqueue(queue *q)
{
q->head=q->tail = 0;
}
void pushqueue(queue *q,type o)
{
if (q->tail > 50)
return;
q->member[q->tail++] = o;
}
type popqueue(queue *q)
{
if (q->tail == 0)
return NULL;
return q->member[q->head++];
}
bool isqueueemty(queue *q)
{
return q->tail ==q->head? true : false;
问题求解——递归实现:
求二叉树带权路径长度——递归与非递归实现C语言实现代码下载