Problem E: 类的应用
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 55 Solved: 24
[ Submit][ Status][ Web Board]
Description
•
设计一个栈类完成压栈和出栈操作。
•栈有下面这样的特点:
1) 用数组描述的顺序栈,只有一个对数据进行存入和取出的端口;
2) 后进者先出,即最后被存入的数据将首先被取出。取出也只可以从顶端进行,即后进先出。
1) 用数组描述的顺序栈,只有一个对数据进行存入和取出的端口;
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" ;}
// 此处为进栈、出栈函数
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()<<" ";
}
Input
由主程序中给出,见参考程序中的main()函数。
Output
stack initialized12 10 8 6 4 2
Sample Input
由主程序中给出。
Sample Output
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; ++top; } float stack::pop(void) { --top; 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()<<" "; }
运行结果:
<img src="https://img-blog.csdn.net/20150703161140665" alt="" />