(1)编程实现顺序栈和链栈的基本操作:建栈,取栈顶元素,入栈,出栈;
(2)编程实现循环队列和链队列的基本操作:建队列,取队头元素,入队,出队。
1.顺序栈
#include<iostream>
using namespace std;
#define MAXSIZE 5
typedef struct{
int *base;
int *top;
int stacksize;
}SqStack;
void InitStack(SqStack &s);
void GetTop(SqStack s);
void Push(SqStack &s,int n);
void Pop(SqStack &s,int n);
int main(){
SqStack s;
int n;
InitStack(s);
cout<<"请输入入栈的个数(栈最大为5):";
cin>>n;
Push(s,n);
cout<<"请输入出栈的个数::";
cin>>n;
Pop(s,n);
GetTop(s);
return 0;
}
//初始化顺序栈
void InitStack(SqStack &s){
s.base=new int[MAXSIZE];
s.top=s.base;
s.stacksize=MAXSIZE;
}
//取栈顶元素
void GetTop(SqStack s){
if(s.base!=s.top){
cout<<"栈顶元素为:"<<*(s.top-1)<<endl;
}else{
cout<<"栈为空,无栈顶元素"<<endl;
}
}
//入顺序栈
void Push(SqStack &s,int n){
int e;
if(s.top-s.base==s.stacksize){
cout<<"栈满了"<<endl;
}else{
cout<<"进栈的值为:"<<endl;
for(int i=0;i<n;i

&spm=1001.2101.3001.5002&articleId=105546168&d=1&t=3&u=b31bedcdf04844b7ab6483036de4bdcc)
377

被折叠的 条评论
为什么被折叠?



