正文

练习:用栈实现逆序输出26个字母2006-05-13 12:10:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/bclz/13990.html

分享到:

//实现栈类
//逆序输出26个字母
//2006 05 13
#include <iostream.h>
#include<string>

class Node{
public:
    char data;
    Node *next;
};
class Stack:public Node{
    Node *Bottom;
    Node *Top;
    int SLen;
public:
    void InitStack();
    char Pop();
    void Push(char e);
    bool StackEmpty();
};

void Stack::InitStack()
{
    Top=new Node;
    Bottom=Top;
    SLen=0;
}
char Stack::Pop()
{
    char e;
    Node *p;
    if(!(Top->next))
        exit(0);
    else
    {
        p=Top;
        e=p->data;
        Top=p->next;
        delete p;
        SLen--;
    }
    return e;
}
void Stack::Push(char e)
{
    Node* p=new Node;
    p->next=Top;
    p->data=e;
    Top=p;
    SLen++;
}
bool Stack::StackEmpty()
{
    if(SLen==0)
        return 1;
    else
        return 0;
}

void main()
{
    Stack s;
    s.InitStack();
    for(char i='A';i<='Z';i++)
        s.Push(i);
    for(i='A';i<='Z';i++)
        cout<<s.Pop()<<endl;

}

阅读(2756) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册