C \ C++

[C++] 스택 & 큐 (라이브러리 사용하기)

인디아나쥰이 2021. 6. 17. 19:21

스택 (Stack)

 

LIFO(Last in First Out)

 

1 2 3 4 5 순서로 집어넣었을때 5 4 3 2 1 순서로 꺼내지게 됨

 

#include <stack>을 이용하여 라이브러리를 사용할 수 있다.

 

#include <iostream>
#include <stack>

using namespace std;

int main(void) 
{
	stack<int> tmp; //int 형 스택 선언
    
    tmp.push(1); //스택에 1 넣음
    tmp.push(2);
    tmp.push(3);
    tmp.push(4);
    tmp.pop(); //가장 마지막에 넣은 요소 꺼내기
    
    //출력
    while(!tmp.empty())
    {
    	cout << tmp.top() << ' '; // 스택 가장 위의 요소 출력
        tmp.pop(); // 출력 후, 데이터 삭제
	}
}
//출력 결과 3 2 1 나옴 

 

 

큐 (queue)

 

FIFO(First in First out) 

 

1 2 3 4 5 순서로 넣었다면 , 꺼낼때도 1 2 3 4 5 순서로 꺼내는 자료구조

 

#include <queue>  를 통해 라이브러리 사용가능

 

#include <iostream>
#include <queue>

using namespace std;

int main(void)
{
	queue<int> tmp; // int형 큐 생성
    
    tmp.push(1);
    tmp.push(2);
    tmp.push(3);
    tmp.pop(); //가장 먼저 들어간 1 이 삭제됨
    tmp.push(4);
    
    //출력
    while(!tmp.empty()){ //스택이 빌 때 까지 출력
    	cout << tmp.front() << ' ';  // 큐의 가장 앞에 있는 값을 출력
        tmp.pop();
    }
    
    // 2 3 4 가 출력된다.
}
728x90
반응형