类的应用

类的应用

时间: 1ms        内存:128M

描述:

 

设计一个栈类完成压栈和出栈操作。
栈有下面这样的特点:
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()<<" ";
      
      
}

输入:

由主程序中给出,见参考程序中的main()函数。

输出:

stack initialized12 10 8 6 4 2

示例输入:

由主程序中给出。

示例输出:

stack initialized12 10 8 6 4 2 

提示:

参考答案(内存最优[1480]):


#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)  
 {  
     //top=-1;  
     //for(i=1;i<=6;i++)  
        data[top++]=a;  
    
 }  
    
 float stack::pop(void)  
 {top--;  
         if (top<0){  
         //cout<<"Stack is underflow !"<<endl;  
         return 0;  
         };  
         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()<<" ";
	
	
}

参考答案(时间最优[0]):


#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)  
 {  
     //top=-1;  
     //for(i=1;i<=6;i++)  
        data[top++]=a;  
    
 }  
    
 float stack::pop(void)  
 {top--;  
         if (top<0){  
         //cout<<"Stack is underflow !"<<endl;  
         return 0;  
         };  
         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()<<" ";
	
	
}

题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注