文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>栈的实现方式之一:数组实现的顺序栈

栈的实现方式之一:数组实现的顺序栈

时间:2010-12-31  来源:myx201i

#include <assert.h>

template< class T >
class ArrayStack
{
public:
    ArrayStack():size(0), tos(-1), contain( NULL ){ }
    ArrayStack( int MaxSize );
    void Push( T& element );
    T& Pop();
    bool IsEmpty();
    bool IsFull();
    void ClearEmpty();

private:
    int size;
    int tos; //栈顶索引,当其为-1时表示空栈
    T* contain;

};

template< class T >
ArrayStack< T >::ArrayStack( int MaxSize )
{
    size = MaxSize;
    tos = -1;
    contain = new T[ size ];
}

template< class T >
void ArrayStack< T >::Push( T& element )
{
    assert( tos != size-1 );
    contain[ ++tos ] = element;
}

template< class T >
T& ArrayStack< T >::Pop()
{
    assert( tos != -1);
    return contain[ tos-- ];
}

template< class T >
void ArrayStack< T >::ClearEmpty()
{
    tos = -1;
}

template< class T >
bool ArrayStack< T >::IsEmpty()
{
    if( tos == -1)
        return true;
    else
        return false;
}

template< class T >
bool ArrayStack< T >::IsFull()
{
    if( tos == size-1 )
        return true;
    else
        return false;
}


相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载