C语言中如何初始化栈 每个元素均为空

来源:百度知道 编辑:UC知道 时间:2024/06/14 10:44:31

<1>如果顺序栈的定义如下
typedef struct
{datatype data[stacksize];
int top;
}SeqStack;
---则置空栈的操作如下
void InitStack(seqstack *s)
{s->top=-1;
}

<2>如果链栈的定义如下
typedef struct node
{datatype data;
struct node *next;
}LinkStack;
---则置空栈的操作如下
void InitStack(linkstack *s)
{s->top=null;
}

顺序栈的话,直接将栈顶指针指向栈底即可表示栈为空.
链栈的话,就要挨个free链表结点了