再读C++ Primer 写了个小例子——实现stack类的压栈弹栈功能(08-12-10)

  再读C++ Primer 写了个小例子——实现stack类的压栈弹栈功能
#pragma  once
#define  MAX 100

template 
< class  T >

class  Stack
{
public:
    Stack(
void)
    
{
        top
=0;
        total
=0;
    }


    
~Stack(void)
    
{}

    
void push(T ele)
    
{
        
if(top <MAX && top>=0)
            
{
                element[total]
=ele;
                top
++;
                total
++;
            }

    }



    T pop()
    
{
        
return element[top-1];
    }



    
void empty()
    
{
        top
=0;
        total
=0;
    }



    
void isEmpty()
    
{
        
if(total==0)
        cout
<<"是空栈!"<<endl;
        
else
            
{
                cout
<<"不是空栈!"<<endl;
            }

    }



protected:
    T element[MAX];
    
int top;
    
int total;
}
;



//  test02.cpp : Defines the entry point for the console application.
//

#include 
" stdafx.h "
#include  
" Stack.h "
using   namespace  std;

int  _tmain( int  argc, _TCHAR *  argv[])
{
    
int a,b,c;
    
float a1,b1,c1;
    Stack
<int> intStack;
    cout
<<"请输入三个整数"<<endl;
    cin
>>a>>b>>c;
    intStack.push(a);
    intStack.push(b);
    intStack.push(c);
    cout
<<"请输入三个浮点数"<<endl;
    Stack
<float> floatStack;
    cin
>>a1>>b1>>c1;
    floatStack.push(a1);
    floatStack.push(b1);
    floatStack.push(c1);
    cout
<<"判断是否为空:"<<endl;
    floatStack.isEmpty();
    cout
<<"pop操作:"<<endl;
    cout
<<floatStack.pop()<<endl;
    cin
>>a1;
    
return 0;
}



实现stack类的压栈弹栈功能
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值