C++-day6

 1、用模板库实现顺序栈

#include <iostream>
#define Max 7
using namespace std;
template <typename T>
class Person
{
    T top;
    T data[Max];
public:
    Person():top(-1),data{0}{}
       void personpush(T s);
       void personpopo();
       bool empty();
       bool full();
       void show();
};
template <typename T>
bool Person<T>::empty()
{
    return top==-1?1:0;
}
template <typename T>
bool Person<T>::full()
{
    return top==Max-1?1:0;
}
template <typename T>
void Person<T>::personpush(T s)
{
    if(full())
    {
        cout << "满栈" << endl;
        return;
    }
    this->top++;
    data[top]=s;
    cout << data[top]<< "入栈" << endl;
    return;
}
template <typename T>
void Person<T>::show()
{
    if(empty())
    {
        cout << "空栈" << endl;
        return;
    }
    for(int i=top;i>=0;i--)
    {
        cout << data[i] << " ";
    }
    cout << endl;
}
template <typename T>
void Person<T>::personpopo()
{
    this->top--;
    cout << data[top] << "出栈" << endl;
}
 
int main()
{
 
    Person <int>s;
    s.show();
    s.personpush(8);
    s.personpush(7);
    s.personpush(6);
    s.personpush(5);
    s.personpush(4);
    s.personpush(3);
    s.personpush(2);
    s.personpush(1);
    s.personpopo();
    s.personpopo();
    s.personpopo();
    s.personpopo();
    s.show();
    return 0;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值