100分求解算法实现
A( B(D,E(G,)),C(,f) )#
以上是一个广义表,
根据 类似的
这种广义表进行一个二叉树。
这种广义表 如何实现啊???
用数组来存储,然后 提供一打印函数,打印之。
------解决方案--------------------
C/C++ code
#include <stdio.h>
#include <malloc.h>
#include <stdlib.h>
#include <string.h>
typedef char DataType;/*定义DataType类型*/
#define STACK_MAX_SIZE 30
struct BTreeNode{
DataType data;
struct BTreeNode *lchild, *rchild;/*左右孩子子树*/
}; /*结点类型*/
------解决方案--------------------
------解决方案--------------------
C/C++ code
{
switch(a[i])
{
case ' ':
break; /* 对空格不作任何处理 */
case '(':
if(top == STACK_MAX_SIZE - 1){
printf("栈空间太小!\n");
exit(1);
}
top++;
s[top] = p;
k = 1;
break;