来源:互联网 发布:rewrite龙骑士07 知乎 编辑:程序博客网 时间:2024/06/06 11:44

栈的练习

书上例题:

#include<stack>
#include<iostream>
using namespace std;
const int maxstack=10;
enum error_code
{
    stack(),bool empty()const,pop(),top(Stack_entry&item)const,push(const Stack_entry&item)
};
class stack
{
public:
    stack();
    bool empty() const;
    error_code pop();
    error_code top(Stack_entry&item)const;
    error_code push(const Stack_entry&item);
private:
    int count;
    Stack_entry entry[maxstack];
};
error_code Stack::push(const Stack_entry&item)/*ruzhan*/
{
    error_code outcome=success;
    if(count>=maxstack)
        outcome=overflow;
    else
        entry[count]=item;
    return outcome;
}
error_code Stack::pop()/*chuzhan*/
{
    error_code outcome=success;
    if(count==0)
        outcome=underflow;
    else --count;
    return outcome;
}
error_code Stack::top(Stack_entry&item)const
{
    error_code outcome=success;
    if(count==0)
        outcome=underflow;
    else
        item=entry[count-1];
    return outcome;
}
bool Stack::empty()const
{
    bool outcome=true;
    if(count>0)outcome=false;
    return outcome;
}
Stack::Stack()
{
    count=0;
}

#include<stack>#include<iostream>using namespace std;const int maxstack=10;enum error_code{    stack(),bool empty()const,pop(),top(Stack_entry&item)const,push(const Stack_entry&item)};class stack{public:    stack();    bool empty() const;    error_code pop();    error_code top(Stack_entry&item)const;    error_code push(const Stack_entry&item);private:    int count;    Stack_entry entry[maxstack];};error_code Stack::push(const Stack_entry&item)/*ruzhan*/{    error_code outcome=success;    if(count>=maxstack)        outcome=overflow;    else        entry[count]=item;    return outcome;}error_code Stack::pop()/*chuzhan*/{    error_code outcome=success;    if(count==0)        outcome=underflow;    else --count;    return outcome;}error_code Stack::top(Stack_entry&item)const{    error_code outcome=success;    if(count==0)        outcome=underflow;    else        item=entry[count-1];    return outcome;}bool Stack::empty()const{    bool outcome=true;    if(count>0)outcome=false;    return outcome;}Stack::Stack(){    count=0;}


原创粉丝点击