#include<iostream>
#include<stdio.h>
#include<math.h>
#define STACK_INIT_SIZE 100
#define STACK_INCREMENT 10
using namespace std;
typedef struct Stack //结构体定义
{
int *elem; //数据域
int top; //顺序栈栈顶
int stacksize; //顺序栈当前长度
}Stack;
//函数声明部分
void Error(char *s); //错误处理函数
Stack Creat_Stack();//若干个元素的顺序栈
void Destroy_Stack(Stack & l); //销毁顺序栈
void Clear_Stack(Stack & l); //清空顺序栈
int Getlength_Stack(Stack &l); //计算顺序栈长度
void Gettop_Stack(Stack &l, int e); //得到顺序栈栈顶元素
void Push_Stack(Stack &L, int e); //压栈操作函数
void Pop_Stack(Stack &L, int e); //出栈操作函数
void Increment_Stack(Stack & l); //增加顺序栈空间函数
void Print_Stack(Stack & l); //输出顺序栈元素函数
//函数实现部分
void Error(char *s)
{
cout << s << endl;
exit(1);
}
Stack Creat_Stack()
{
int length = 0;
int data = 0;
Stack l;
l.elem = new int[STACK_INIT_SIZE];
if (!l.elem)
Error("内存申请失败!");
l.to
c语言:顺序栈的实现
最新推荐文章于 2024-03-31 22:38:45 发布