顺序栈:利用一组地址连续的存储单元依次存放自栈底到栈顶的数据元素,同时由于栈操作的特殊性,还必须附设一个位置指针top(栈顶指针)来动态地指示栈顶元素在顺序栈中的位置。通常以top=-1表示空栈。
代码如下:
#include<iostream>
using namespace std;
#define TRUE 1
#define FALSE 0
//顺序栈的存储结构
#define Stack_Size 50 //设栈中元素个数为50
typedef struct
{
int elem[Stack_Size];//用来存放栈中元素的一维数组
int top;//用来存放栈顶元素的下标,top=-1表示空栈
}SeqStack;
//初始化顺序栈
void InitStack(SeqStack *S)
{
S->top = -1;//构造一个空栈
}
//顺序栈进栈运算,首先判断栈是否已满,若栈已满,还要进栈就会发生上溢
int Push(SeqStack *S,int x)//将x置入S栈新栈顶
{