#include <iostream>
#define MAXSIZE 10
typedef struct {
int data[MAXSIZE];
int top;
}SqStack;
bool initStack(SqStack &S){
S.top = -1;
}
bool StackEmpty(SqStack S){
if(S.top==-1){
return true;
}
return false;
}
bool push(SqStack &S,int x){
S.data[++S.top] = x;
return true;
}
bool pop(SqStack &S,int &x){
if(!StackEmpty(S)){
x = S.data[S.top--];
return true;
}
return false;
}
bool GetTop(SqStack S,int &x){
if(!StackEmpty(S)){
x = S.data[S.top];
return true;
}
return false;
}
bool DestroyStack(SqStack &S){
S.top = -1;
return true;
}
void printStack(SqStack S){
for(int i=0;i<S.top+1;i++){
if(!StackEmpty(S)){
printf("%d",S.data[i]);
}
}
printf("\n");
}
int main(){
SqStack S;
int x;
initStack(S);
push(S,1);
push(S,2);
push(S,3);
printStack(S);
pop(S,x);
printStack(S);
}
c++栈的定义以及相关运算;初始化、是否为空、插入元素、删除元素、获取顶层元素、销毁栈、打印栈操作
最新推荐文章于 2024-04-29 17:02:10 发布
本文详细介绍了如何在C++中使用自定义结构体`SqStack`实现栈的数据结构,包括初始化、判断栈是否为空、元素入栈、出栈、获取栈顶元素以及打印栈的内容。
摘要由CSDN通过智能技术生成