栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。
中文名 栈 外文名 stack 种 类数据结构
#include<iostream>
#include<stdlib.h>
#define T 1
#define F 0
using namespace std;
typedef int ElemType;
struct SNode{
ElemType date;
struct SNode *next;
};
typedef struct SNode *Stack;
//初始化
Stack InitStack(Stack S){
S = (Stack)malloc(sizeof(struct SNode));
if(!S){
cout<<"分配空间失败!程序退出!"<<endl;
exit(-1);
}
else
cout<<"初始化成功!成功构造一个栈!"<<endl;
S->next = NULL;
return S;
}
//判空
int Stac