文章目录
- 一、栈
- 1、栈的定义
- 2、顺序栈
- 2.1、初始化
- 2.2、进栈
- 2.3、出栈
- 2.4、读取
 
- 3、链栈
 
一、栈
1、栈的定义
逻辑结构:与普通线性表相同数据的运算:插入、删除操作有区别
 
 
 
2、顺序栈

2.1、初始化

 ”.”适用于结构体变量,”->”适用于结构体指针变量
typedef struct{
	int data[MaxSize];
	int top;
}SqStack;
void InitStack(SqStack &S){
	S.top=-1;
}
2.2、进栈

bool Push(SqStack &S,int x){
	if(S.top==MaxSize-1)
		return false;
	S.top=S.top+1;
	S.data[S.top]=x;
	return true;
} 
2.3、出栈

bool Pop(SqStack &S,int &x){
	if(S.top==-1)
		return false;
	x=S.data[S.top];
	S.top=S.top-1;
	return true;
} 
2.4、读取
bool GetTop(SqStack S,int &x){
	if(S.top==-1)
		return false;
	x=S.data[S.top];
	return true;
} 

3、链栈




















