数组实现栈的功能

#include<iostream>
#include<string>
using namespace std;
#define size 5
class zhan
{
public:
    zhan()
    {
        number=0;
    }
    void push(int c)
    {
        if(number==size)
        {
            cout<<"栈已经满了,无法在插入了"<<endl;
            return ;
        }
        else
        {
            number++;
            a[number]=c;
        }
    }
    void pop()
    {
        if(number==0)
        {
            cout<<"栈已经空"<<endl;
            return ;
        }
        else
        {
            cout<<"出栈元素是"<<a[number]<<endl;
            number--;
        }
    }
    void show()
    {
        cout<<"栈里现在有元素的个数是"<<number<<endl;
    }
private:
    int a[size];
    int number;
};
int main()
{
    class zhan zhan1;
    int c;
    string str1;
    cout<<"输入y进行入栈输入n进行出栈,输入k显示当前栈中元素的个数,输入x退出"<<endl;
    cin>>str1;
    while(str1[0]!='x')
    {
        if(str1[0]=='y')
        {
            cout<<"输入你要入栈的元素"<<endl;
            cin>>c;
            zhan1.push(c);
        }
        else if(str1[0]=='n')
        {
            zhan1.pop();
        }
        else if(str1[0]=='k')
            zhan1.show();
        cout<<"输入y进行入栈输入n进行出栈,输入k显示当前栈中元素的个数,输入x退出"<<endl;
        cin>>str1;
    }
    return 0;
}

posted @ 2014-10-24 14:35  生死相依  阅读(352)  评论(0编辑  收藏  举报