栈
栈是一种特殊的线性表,对于他所有的插入和删除都限制在表的同一端进行。表中允许进行插入、删除操作的一端称为栈顶,另一端则叫做栈底。当栈中没有元素的时候,称为空栈。
栈的插入运算通常称为进栈或入栈,栈的删除运算操作通常称为退栈或出栈。
栈的基本操作
//结点
struct node
{
int x;
node* line;
};
//结构体链接表示
struct stack_link
{
node* top;
};
typedef stack_link* pstack_link;
1.创建空栈
//创建空栈
pstack_link create_empty_stack_link()
{
pstack_link p;
p = (pstack_link)malloc(sizeof(stack_link));
if (p != NULL)
{
p->top = NULL;
return p;
}
else
printf("out of space!\n");
}
2.判断是否为空
//判断是否为空
bool isNullstack_link(pstack_link p)
{
return p->top ==