C++/디딤돌 자료구조와 알고리즘 with C++

스택 [C++ 소스]

언제나휴일 2016. 6. 11. 09:11
반응형

스택 [C++ 소스]


Program.cpp



"본문 내용"은 언제나 휴일 본 사이트에 있습니다.


//스택

#include <iostream>

using namespace std;

 

class Stack

{

    int *buffer;

    const int size;

    int top;

public:

    Stack(int size):size(size)

    {

        top = -1;

        buffer = new int[size];

    }

 

    ~Stack()

    {

        delete[] buffer;

    }

 

    bool Push(int data)

    {

        if(IsFull())

        {

            return false;

        }

        top++;

        buffer[top] = data;

        return true;

    }

 

    int Pop()

    {

        if(IsEmpty())

        {

            return 0;

        }

        int re = buffer[top];

        top--;

        return re;

    }

    bool IsFull()

    {

        return (top+1) == size;

    }

 

    bool IsEmpty()

    {

        return top == -1;

    }

};

 

int main()

{

    Stack st(10);//크기가 10인 스택

 

    st.Push(4); //4

    st.Push(7); //4 7

    st.Push(8); //4 7 8

    st.Push(2); //4 7 8 2

 

    while(st.IsEmpty() == false)

    {

        cout<<st.Pop()<<" ";

    }

    cout<<endl;

    return 0;

}



프로그래밍 언어 및 기술 학습, 무료 동영상 강의 언제나 휴일

반응형