큐(queue)

2021. 1. 14. 15:18·Data Structure

선입 선출, 스택과 꺼내는 순서가 반대

#include <iostream>
#include <queue>
using namespace std;

int main()
{
	queue<int> qi;
    	cout << pq.empty() << " ";	//큐가 비어있나 true/false
	qi.push(1);	//값 넣기
	qi.push(2);
    	qi.push(3);
	qi.push(6);
	qi.push(4);
	cout << qi.front() << " ";	//맨앞의 수
    	cout << qi.size() << " ";	//큐의 개수
	cout << qi.back() << " ";	//맨뒤의 수
    	cout << pq.empty() << " ";
	qi.pop();	//맨앞의 값 제거
	cout << qi.front();

	return 0;
}

결과값

1 1 5 4 0 2

 

 

 


우선순위 큐

- 원소의 추가와 삭제는 O(log n)의 시간이 걸리고 탐색은O(1)시간이 걸린다.

- 필요한 연산이 최대, 최소를 구하는 것이면 우선순위 큐를 사용하면 좋다.

- 기본적으로 원소가 내림차순으로 정렬이 되어있다.

- 탐색 및 삭제의 대상이 되는 것은 최대 원소이다.

 

#include <iostream>
#include <queue>
using namespace std;

int main()
{
	priority_queue<int> pq;
    //priority_queue<int, vector<int>, greater<int>> pq; //가장 순번이 빠른순(오름차순)
    //priority_queue<int, vector<int>, less<int>> pq;	//가장 순번이 늦은순(내림차순)
	pq.push(3);
	pq.push(4);
	pq.push(1);
	pq.push(2);
	pq.push(2);

	cout << pq.top() << " ";	//가장 큰 수
	cout << pq.size() << " ";	//원소의 개수
	pq.pop();	//가장 큰 수를 제거

	cout << pq.top() << " ";
    
	return 0;
}

 

저작자표시 (새창열림)

'Data Structure' 카테고리의 다른 글

[C++] stl priority_queue와 heap  (0) 2021.06.03
[C++] stl map  (0) 2021.05.31
해시(hash)  (0) 2021.01.20
링크드 리스트(Linked List)  (0) 2021.01.19
스택(stack)  (0) 2021.01.15
'Data Structure' 카테고리의 다른 글
  • [C++] stl map
  • 해시(hash)
  • 링크드 리스트(Linked List)
  • 스택(stack)
chanheess
chanheess
'왜' 그렇게 했는가?에 대한 생각으로 공부 및 작업의 저장관리
  • chanheess
    왜 그렇게 생각했는가?
    chanheess
  • 전체
    오늘
    어제
    • 분류 전체보기
      • Backend Programming
      • Game Programming
        • Unreal
        • DirectX
      • C++
        • Memo
        • Basic
        • Effective Modern
      • Algorithm
        • Memo
        • Baekjoon
        • Programmers
        • HackerRank, LeetCode
      • Data Structure
      • Design Pattern
      • Etc
        • Memo
        • Daily Log
        • Book
  • 최근 글

  • 최근 댓글

  • 태그

    JPA
    티스토리챌린지
    dfs
    오블완
    SpringSecurity
    백준
    spring
    c++ 기초 플러스
    dp
    위클리 챌린지
    프로그래머스
    알고리즘
    Java
    JWT
  • hELLO· Designed By정상우.v4.10.0
chanheess
큐(queue)
상단으로

티스토리툴바