栈 初学
来源:互联网 发布:linux 下载命令 编辑:程序博客网 时间:2024/06/04 19:11
#include<iostream>
using namespace std;
class stack
{
public:
stack(int size);//分配内存空间
~stack(); //回收栈的内存空间
bool stackempty(); //判断栈是否为空 空则返回true 非空false
bool stackfull();//判断栈是否为满 满则返回true 不满flase
void clearstack();//清空栈
int stacklength();//已有元素的个数
bool push(int elem);//入栈
bool pop(int &elem);//出栈
void stackper();//遍历栈
private:
int *buffer;//栈空间指针
int msize;//栈容量
int top;//栈顶/栈中的元素
};
stack::stack(int size)//构造函数
{
msize=size;
buffer=new int[msize];
top=0;
}
stack::~stack()//
{
delete[]buffer;
}
bool stack::stackempty()
{
if(0==top)
{
return true;
}
return false;
}
bool stack::stackfull()
{
if(top==msize)
{
return true;
}
return false;
}
void stack::clearstack()
{
top=0;
}
int stack::stacklength()
{
return top;
{
if(stackfull())
{
return false;
}
buffer[top]=elem;
top++;
return true;
}
bool stack::pop(int &elem)
{
if(stackempty())
{
return false;
}
top--;
elem=buffer[top];
return true;
}
void stack::stackper()
{
for(int i=0;i<top;i++)
{
cout<<buffer[i]<<" ";
}
{
int a,b;
cin>>a;
stack *p=new stack(a);
while(a--)
{
cin>>b;
p->push(b);
}
p->stackper();
}
using namespace std;
class stack
{
public:
stack(int size);//分配内存空间
~stack(); //回收栈的内存空间
bool stackempty(); //判断栈是否为空 空则返回true 非空false
bool stackfull();//判断栈是否为满 满则返回true 不满flase
void clearstack();//清空栈
int stacklength();//已有元素的个数
bool push(int elem);//入栈
bool pop(int &elem);//出栈
void stackper();//遍历栈
private:
int *buffer;//栈空间指针
int msize;//栈容量
int top;//栈顶/栈中的元素
};
stack::stack(int size)//构造函数
{
msize=size;
buffer=new int[msize];
top=0;
}
stack::~stack()//
{
delete[]buffer;
}
bool stack::stackempty()
{
if(0==top)
{
return true;
}
return false;
}
bool stack::stackfull()
{
if(top==msize)
{
return true;
}
return false;
}
void stack::clearstack()
{
top=0;
}
int stack::stacklength()
{
return top;
}
{
if(stackfull())
{
return false;
}
buffer[top]=elem;
top++;
return true;
}
bool stack::pop(int &elem)
{
if(stackempty())
{
return false;
}
top--;
elem=buffer[top];
return true;
}
void stack::stackper()
{
for(int i=0;i<top;i++)
{
cout<<buffer[i]<<" ";
}
}
{
int a,b;
cin>>a;
stack *p=new stack(a);
while(a--)
{
cin>>b;
p->push(b);
}
p->stackper();
}
阅读全文
0 0
- 初学栈
- 栈 初学
- 初学 栈的定义
- 初学栈与队列
- 初学栈帧
- 初学...
- 初学
- 初学
- 初学
- 初学
- 初学
- 初学
- 初学
- 栈和队列初学总结
- 数据结构与算法初学之栈
- 栈的简单应用(初学)
- JVM内存初学 堆、栈、方法区
- 数据结构初学————栈的基本操作
- JavaWeb开发之添加日志框架-log4j
- java大作业回顾
- 740. Delete and Earn
- 应用层设置option如何让底层使用
- mac 跑 Android studio 3.0+
- 栈 初学
- libvpx在windows下的编译
- Leetcode: 146. LRU Cache
- Stream API
- 面向对象解决球的反弹问题
- HBase 概述
- Win10 安装Tensorflow-GPU版教程(附CUDA安装 could not fine compatible graphic hardware问题解答)
- 高速ADC的关键指标:量化误差、offset/gain error、DNL、INL、ENOB、分辨率、RMS、SFDR、THD、SINAD、dBFS、TWO-TONE IMD
- PPT之如何一键删除所有幻灯片备注?