其他分享
首页 > 其他分享> > 数据结构-06-栈的顺序存储

数据结构-06-栈的顺序存储

作者:互联网

在这里插入图片描述

顺序栈的定义

typedef int ElemType;
#define MaxSize 10 //定义栈中元素最大个数 

typedef struct{
	ElemType data[MaxSize]; //静态数组存放栈中元素 
	int top; //栈顶指针 
}SeqStack;

初始化栈顶元素

在这里插入图片描述

//初始化栈顶元素
void InitStack(SeqStack &S)
{
	S.top = -1;	
} 

//判断栈空
bool StackEmpty(SeqStack S)
{
	return S.top == -1;
}

进栈操作

在这里插入图片描述图中是b这个数据入栈

//进栈操作
bool Push(SeqStack &S, ElemType x)
{
	if(S.top == MaxSize - 1)
	{
		return false; //满栈。报错	
	}
	S.data[++S.top] = x;
	return false; 
} 

出栈操作


//出栈操作
bool Pop(SeqStack &S, ElemType &x)
{
	if(S.top == -1)
	{
		return false; // 栈空 
	}
	x = S.data[S.top--];
	return true; 
} 

读取栈顶元素

//读栈顶元素操作
bool GetTop(SeqStack S, ElemType &x)
{
	if(S.top == -1)
	{
		return false;
	}
	x = S.data[S.top];
	return true;
}

标签:SeqStack,return,ElemType,top,bool,06,false,数据结构,顺序存储
来源: https://blog.csdn.net/qq_43961587/article/details/118274980