stack


목차

  • c++ stack 이란?
  • stack의 선언
  • stack 기본 함수
  • stack 함수 파라미터로 사용

c++ stack 이란?


스택은 자주 사용되는 자료구조 중 하나로 LIFO( Last In First Out)의 특징을 가지고 있습니다.

c++ STL 스택 라이브러리를 통하여 push, pop, size, empty 등등 여러 함수들을 간편하게 사용할 수 있습니다.


stack의 선언


    #include<stack>
    using namespace std;

    stack<int> st_int;      //int 형 stack 생성

    stack<char> st_int;      //char 형 stack 생성


stack 기본 함수


push


    #include<stack>
    using namespace std;

    int main(){
 
    stack<int> stack;                 //int type stack create
 
    stack.push(4);                    //push 4, 5, 6
    stack.push(5);
    stack.push(6);
 
    cout << "stack size : " << stack.size() <<endl; //stack size
 
    cout << stack.top() <<endl;     // 6
    stack.pop();                    // remove top element of stack
 
    cout <<stack.top() <<endl;      //5
    stack.pop();
 
    cout << stack.top() <<endl;     //4
    stack.pop();

    stack.push(4); //push 4, 5, 6 to stack
    stack.push(5);
    stack.push(6);

    for(int i = 0; i < stack.size(); i++){              // 4, 5, 6 출력
        cout << stack.top() <<endl;
        stack.pop();
    }

    if(stack.empty()){ // check if stack is empty
        cout << "stack is empty " <<endl;
    }
 
    return 0;
}



stack 함수 파라미터로 사용


함수 내 파라미터 선언

  • 파라미터는 포인터로 선언해야 한다.
    #include<stack>
    using namespace std;

    int test(stack<int>* st);

    int main(){
        stack<int> st;
        st.push(3);

        test(&st);
    }

함수 내 스텍 함수 사용

  • 포인터 이므로 -> 연산 사용
    #include<stack>
    using namespace std;

    int test(stack<int>* st){
        cout << st->top()
    }

    int main(){
        stack<int> st;
        st.push(3);

        test(&st);
    }






© 2019.04. by salmon2

Powered by theorydb