// 创建栈typedef struct { struct BiTNode* data[Maxsize]; int top;}StackBiTNode;//初始化栈void initStack(StackBiTNode* &s) { s = (StackBiTNode*)malloc(sizeof(StackBiTNode)); s->top = -1;}
定义结构体StackBiTNode ,包含top、data是结构体指针数组,存放栈中元素,初始化malloc分配空间,令top=-1代表当前栈为空
具体如下:
// 创建栈
typedef struct
{
struct BiTNode* data[Maxsize];
int top;
}StackBiTNode;
这段代码声明了一个结构体StackBiTNode,这个结构体中包含2个元素,
一个结构体指针数组data,一个表示data数组中实际元素个数的top
data中的元素,都是BiTNode*类型的结构体指针
//初始化栈
void initStack(StackBiTNode* &s)
{
s = (StackBiTNode*)malloc(sizeof(StackBiTNode)); //这里给s分配内存空间
s->top = -1; //这里初始化data数组中元素的个数(=0也是可以的,主要看后面插入元素的时候怎么写)
}
这段代码对结构体指针 s 进行初始化,malloc这一句用于给结构指针s分配内存空间,
s->top = -1;设置data数组中实际元素个数为-1(这里用0也是可以的,主要看后面怎么用)