C++栈类的实现

实现栈的基本操作,老师说用数组做就行,可以简便的更改数组类型,这个不明白啥意思~~望大虾指教~~... 实现栈的基本操作,老师说用数组做就行,可以简便的更改数组类型,这个不明白啥意思~~望大虾指教~~ 展开
 我来答
匿名用户
推荐于2018-04-16
展开全部
我昨天做了一个基本符合要求:(定义在Stack.h 头文件中)#ifndef stack_h
#define stack_h
#include<iostream>
using namespace std;
typedef char Stack_entry;//定义数组类型,你可以改成int 或者其他的
const int stackmax = 20;
enum Error_code{success,underflow,overflow};//系统返回值,后面能用到
class Stack
{
private:
int count;
Stack_entry entry [stackmax];
public :
Stack();
bool const empty();
Error_code pop();
Error_code top(Stack_entry &temp) const;
Error_code push(const Stack_entry &temp);
};Stack::Stack()
{
count=0;
}bool const Stack::empty()
{
if(count == 0)
return false ;
else
return true;
}Error_code Stack::pop()
{
Error_code outcome = success;
if(count==0)
outcome = success;
else
count--;
return outcome;
}Error_code Stack::push(const Stack_entry &temp)
{
Error_code outcome = success;
if(count==stackmax)
outcome = overflow;
else
entry[count++]=temp;
return outcome;
}Error_code Stack::top(Stack_entry &temp) const
{
Error_code outcome = success;
if(count==0)
outcome = underflow;
else
temp = entry[count-1];
return outcome;
}#endif
匿名用户
2013-10-22
展开全部
可以用类来实现的啊给你个思路class 栈public 出栈操作 进栈操作private 数据数组 flag其中数据数组就是一个数组,flag用来标记当前元素,初始状态为0表示栈里面没有元素出栈操作:读出 数组[flag],flag-=1;进栈操作:flag+=1 读入 数组[flag]
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式