/*
* TsqStack.cpp
*
* Created on: 2015年4月22日
* Author: Administrator
* 数据结构源代码之栈——顺序栈类
*/
#include<iostream>
using namespace std;
const int maxlen = 100;
struct TsqStack{//顺序栈一维数组用于存放数据,栈顶指示器top用于表示栈的当前状态
int elem[maxlen];
int top;
};
void Clear(TsqStack myTsqStack){//清空栈
myTsqStack.top = -1;
}
int length(TsqStack myTsqStack){//返回栈的当前元素个数
return myTsqStack.top + 1;
}
bool full(TsqStack myTsqStack){//判断栈是否为满
return myTsqStack.top == maxlen - 1;
}
bool empt(TsqStack myTsqStack){//判断栈是否为空
return myTsqStack.top = -1;
}
bool push(TsqStack myTsqStack, int el){//进栈操作,压入元素el。若成功,返回true,否则返回false
if(myTsqStack.top == maxlen - 1){
return false;
}else{
myTsqStack.elem[myTsqStack.top + 1] = el;
myTsqStack.top++;
return true;
}
}
int pop(TsqStack myTsqStack){//出栈操作,压出栈顶元素。若成功,返回该元素,否则返回NULL
if(myTsqStack.top == -1){
return NULL;
}else{
myTsqStack.top--;
return myTsqStack.elem[myTsqStack.top + 1];
}
}
int gettop(TsqStack myTsqStack){
if(myTsqStack.top == -1){
return NULL;
}else{
return myTsqStack.elem[myTsqStack.top];
}
}
int main(){
return 0;
}