数据结构顺序栈基本操作(C/C++实现)
注意:本代码为了测试运行默认含有操作所需数据,如有需要可自己增删改相关数据
涉及基本运算流程
1.初始化栈
2.判断栈是否非空
3.元素依次进栈
4.判断栈是否非空
5.输出出栈序列
6.判断栈s是否非空
7.释放栈
GitHub地址(包含.cpp文件和可执行程序exe)
源代码(经VS2015、devC++编译器运行通过)
#include "stdio.h"
#include "stdlib.h"
#include "io.h"
#include "math.h"
#include "time.h"
#define OK 1
#define ERROR 0
#define TRUE 1
#define FALSE 0
#define MAXSIZE 20 /* 存储空间初始分配量 */
typedef int Status;
typedef char SElemType; /* SElemType类型根据实际情况而定,这里假设为char */
/* 顺序栈结构 */
typedef struct
{
SElemType data[MAXSIZE];
int top; /* 用于栈顶指针 */
}SqStack;
Status visit(SElemType c)
{
printf("%d ", c);
return OK;
}
/* 构造一个空栈S */
Status InitStack(SqStack