问题 B: 类的应用
时间限制: 1.00s | 内存限制: 128MB
题目描述
•设计一个栈类完成压栈和出栈操作。
•栈有下面这样的特点:
- 用数组描述的顺序栈,只有一个对数据进行存入和取出的端口;
- 后进者先出,即最后被存入的数据将首先被取出。取出也只可以从顶端进行,即后进先出。
提交压栈,出栈函数即可。
#include<iostream>
using namespace std;
class stack
{
float data[6];
int top;
public:
stack(void);
void push(float a);
float pop(void);
};
stack::stack(void)
{ top=0; cout<<“stack initialized” ;}
// 此处为进栈、出栈函数
int main()
{ stack s1;
int i;
for(i=1;i<=6;i++)
s1.push(2*i);
for(i=1;i<=6;i++)
cout<<s1.pop()<<" ";
}
输入
由主程序中给出,见参考程序中的main()函数。
输出
stack initialized12 10 8 6 4 2
输入输出样例
样例输入 #1
由主程序中给出。
样例输出 #1
stack initialized12 10 8 6 4 2
#include<iostream>
using namespace std;
class stack
{
float data[6];
int top;
public:
stack(void);
void push(float a);
float pop(void);
};
stack::stack(void)
{
top=0;
cout<<"stack initialized";
}
// 此处为进栈、出栈函数
void stack::push(float a)
{
data[top++] = a;
}
float stack::pop()
{
return data[--top];
}
int main()
{
stack s1;
int i;
for(i=1;i<=6;i++)
s1.push(2*i);
for(i=1;i<=6;i++)
cout<<s1.pop()<<" ";
}
卢老师发的题与oj的题有些不同,感谢@王贰麻子同学的提醒,注意一些类型即可:
void stack::push(float a)
{
data[top++] = a;
return;
}
int stack::pop()
{
return data[--top];
}