zoukankan      html  css  js  c++  java
  • 进栈 出栈

    #include "stdafx.h"
    #include "iostream"

    using namespace std;

    class Stack
    {
    public:
    virtual void push(char c) = 0;
    virtual char pop() = 0;
    };

    class ArrayStack:public Stack
    {
    public:
    ArrayStack(int s);
    ~ArrayStack();
    void push(char c);
    char pop();
    private:
    char* p;
    int maxSize;
    int top;
    };

    ArrayStack::ArrayStack(int s)
    {
    top = 0;
    maxSize = s;
    p = new char[s];
    }

    ArrayStack::~ArrayStack()
    {
    delete[] p;
    }

    void ArrayStack::push(char c)
    {
    if (top==maxSize)
    {
    cerr << "overflow ";
    return;
    }
    p[top] = c;
    top++;
    }
    char ArrayStack::pop()
    {
    if (top==0)
    {
    cerr << "underflow! ";
    return '';
    }
    top--;
    return p[top];
    }
    void f(Stack& sRef)
    {
    char ch[] = { 'a', 'b', 'c' };
    cout << ch[0] << ',' << ch[1] << ',' << ch[2] << endl;
    sRef.push(ch[0]);
    sRef.push(ch[1]);
    sRef.push(ch[2]);
    cout << sRef.pop() << ",";
    cout << sRef.pop() << ',';
    cout << sRef.pop() << endl;
    }
    int _tmain()
    {
    ArrayStack as(10);
    f(as);
    return 0;
    }

  • 相关阅读:
    循环播放音乐
    在发板实现24位jpg和bmp图片用手划动显示上一张与下一张图片
    AnsiIO
    PosixIO
    java3
    java2
    java1
    ios音乐播放器demo
    添加文章查看连接
    elementary os变成mac风(笔记)
  • 原文地址:https://www.cnblogs.com/huninglei/p/5372195.html
Copyright © 2011-2022 走看看