YTU-OJ-Problem E: 類的應用

kewlgrl發表於2015-07-21

Problem E: 類的應用

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 63  Solved: 31
[Submit][Status][Web Board]

Description

 

設計一個棧類完成壓棧和出棧操作。
棧有下面這樣的特點:
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 

HINT

#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];
}

//end
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()<<" ";
}


相關文章