求助,关于stack的一道题,有兴趣的同胞可以看看

ajioy 2010-11-01 09:16:08
1.下面的程序以传统形式的struct定义了一个存放字符的栈类型,并定义了有关栈操作的各种函数。编写一个主函数,定义并输出一个字符串,用此串来验证栈的各种操作,包括把串压入栈中后再弹出,以相反的次序将他们显示出来。
const max_len=1000;

enum boolean {false,true};

enum {EMPTY=-1,FULL= max_len -1};

struct stack{

char s[max_len];

int top;

};

void reset (stack *st){st->top= EMPTY;}

void push(char c, stack *st){

st->top++;

st->s[st->top]=c;

}

char pop(stack *st){return(st->s[st->top--]);}

char top(stack *st){ return(st->s[st->top]);}

boolean empty(const stack *st){return(boolean)(st->top== EMPTY);}

boolean full(const stack *st){return(boolean)(st->top== FULL);}
复制代码
2.用类来定义上面的字符栈,并把所有的栈操作函数定义成类成员函数。

3.在上题的基础上,定义两个重载函数push(char c;int n)和pop(int n),表示连续压入或弹出n个字符。

4.在上题的基础上,把所有的成员函数定义为公有的函数,数据成员定义为私有成员,并编写主函数调用测试各种栈操作函数的程序。
...全文
91 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
代码都有了,你就自己定义对象,然后调用函数呗
gules 2010-11-01
  • 打赏
  • 举报
回复
那就“照样子”写呗!
ajioy 2010-11-01
  • 打赏
  • 举报
回复
大哥,这是一道题,代码不是我写的、
modyaj 2010-11-01
  • 打赏
  • 举报
回复
这代码都能写了 楼主还想要问什么呢

64,642

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧