Algorithm - Stack, Queue

2025. 8. 7. 19:08·C++ 프로그래머스 다이어리/Stack,Queue

스택(Stack) 이란?

마지막에 넣은 데이터가 가장 먼저 선출되는걸 볼수있는 LIFO(Last In Fist Out) 구조입니다

 

사용 해더파일

#include <stack>

 

 

선언방식

stack<타입> 변수이름

stack<int> stk;
stack<char> stk;

 

스택기본함수

스택에 데이터 추가시키기

stk.push(data)

 

스택의 가장 윗 데이터 반환하기

stk.pop()

 

스택의 top 데이터 삭제하기

stk.pop()

 

스택이 비어있는가 를 확인하기

stk.empty()

 

스택의 사이즈 반환하기

stk.size()

 

스택 스왑(내용 변경하기)

swap(data1, data2)

 

사용방식 예제

char 타입으로 '1' '2' '3'을 순서대로 stack에 저장하고

가장 위에있는것부터 나오게 한다

#include <iostream>
#include <stack>

using namespace std;

int main()
{
	stack<char> stk;

	stk.push('1');
	stk.push('2');
	stk.push('3');

	while (!stk.empty())
	{
		cout << stk.top() << ' ';
		stk.pop();
	}
	return 0;
}

 

결과

 

 

int타입으로 스택1과 스택2를 123,  10,20,30 을 넣고

top으로 스택을 꺼낼때 swap처리방식으로 출력

#include <iostream>
#include <stack>

using namespace std;

int main()
{
	stack<int> stk1;
	stack<int> stk2;

	stk1.push(1);
	stk1.push(2);
	stk1.push(3);

	stk2.push(10);
	stk2.push(20);
	stk2.push(30);

	swap(stk1, stk2);
	while (!stk1.empty())
	{
		cout << stk1.top() << endl;
		stk1.pop();
	}
	return 0;
}

 

결과

 

큐(Queue) 이란?

스택의 개념과 반대되는 먼저 넣은 자료가 먼저 나오는 선입선출FIFO(First In First Out)의 자료형입니다

 

선언방식

queue<int> que;

 

맨 앞 원소 리턴

q.front();

 

맨 뒤 원소 리턴

q.back();

'C++ 프로그래머스 다이어리 > Stack,Queue' 카테고리의 다른 글

프로그래머스(C++) - 괄호 회전하기  (0) 2025.10.14
프로그래머스(C++) - 주식가격  (0) 2025.10.08
프로그래머스(C++) - 프로세스  (0) 2025.10.08
프로그래머스(C++) - 기능개발  (0) 2025.08.07
프로그래머스(C++) - 짝지어 제거하기  (0) 2025.08.02
'C++ 프로그래머스 다이어리/Stack,Queue' 카테고리의 다른 글
  • 프로그래머스(C++) - 주식가격
  • 프로그래머스(C++) - 프로세스
  • 프로그래머스(C++) - 기능개발
  • 프로그래머스(C++) - 짝지어 제거하기
lucodev
lucodev
커피와 노트북 그리고 개발
  • lucodev
    루코 개발테이블
    lucodev
  • 전체
    오늘
    어제
    • 분류 전체보기 (169) N
      • Unreal5 프로젝트 다이어리 (73)
      • Unreal5 프로젝트 다이어리2 (11) N
      • Unreal 팁 (8)
      • Unreal 디버깅 (8)
      • 코드 개인보관함 (8)
      • C++ 프로그래머스 다이어리 (49) N
        • Stack,Queue (6)
        • Hash (4)
        • Heap (2)
        • Sort (5)
        • Exhaustive search (5)
        • Greedy (2)
        • BFS , DFS (6)
        • Graph (2)
        • Dynamic Programming (1)
        • C++ Math (2)
        • 기타 문제 (13) N
      • 코딩테스트+@ (8) N
      • 알고리즘 스타디 (1)
      • 알고리즘 스타디 과제 (3)
  • 인기 글

  • 최근 글

  • 최근 댓글

  • 링크

  • 공지사항

  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 태그

    unreal 로딩
    unreal sequence
    unreal loading
    언리얼 모션매칭
    unreal 시퀀스
    unreal 모션매칭
    unreal 컷씬
    언리얼 비헤이비어트리
    언리얼 로딩창
    언리얼 behaviortree
    언리얼 behavior tree
    언리얼 로딩
    언리얼 페이드 아웃
    언리얼 foot step
    언리얼 look at
    unreal look at
    언리얼
    언리얼 컷씬
    언리얼 시퀀스
    언리얼 motionmatching
  • hELLO· Designed By정상우.v4.10.3
lucodev
Algorithm - Stack, Queue
상단으로

티스토리툴바