c++/ 자료구조&알고리즘 개념 복습하기 - 5 / 큐

한창희·2022년 1월 19일
0

< 큐 >


  • 한쪽 끝에서 원소를 넣고 반대쪽 끝에서 원소를 뺄 수 있는 자료구조
  • 먼저 들어간 원소가 먼저 나온다 = FIFO(First In First Out)


< 큐의 성질 >

  • 원소의 추가 = O(1)
  • 원소의 제거 = O(1)
  • 맨 앞/뒤 원소 확인 = O(1)
  • 맨 앞/뒤가 아닌 나머지 원소들의 확인, 변경이 원칙적으로 불가능


< STL queue >

#include <bits/stdc++.h>
using namespace std;

int main(void) {
  queue<int> Q;
  Q.push(10); // 10
  Q.push(20); // 10 20
  Q.push(30); // 10 20 30
  cout << Q.size() << '\n'; // 3
  if(Q.empty()) cout << "Q is empty\n";
  else cout << "Q is not empty\n"; // Q is not empty
  Q.pop(); // 20 30
  cout << Q.front() << '\n'; // 20
  cout << Q.back() << '\n'; // 30
  Q.push(40); // 20 30 40
  Q.pop(); // 30 40
  cout << Q.front() << '\n'; // 30
}
  • 큐가 빈 상태에서 front, back, pop 을 호출하면 런타임 에러 발생!! (주의)
profile
매 순간 최선을 다하자

0개의 댓글