[알고리즘] 큐 (C++)

2022. 2. 13. 00:56·Algorithm
반응형

이번 포스팅에서는 큐(Queue)에 관해 학습합니다.

 

 

 

I) 큐

큐(Queue)는 스택(Stack)과 마찬가지로 대표적인 자료구조이다.
먼저 들어온 자료가 먼저 나가는 (First In First Out) FIFO 방식으로 작동한다.

먼저 온 사람이 먼저 서비스를 받는 은행창구와 같다.

 

왼쪽이 입구이고 오른쪽이 출구인 아래의 큐에  다음과 같은 입력을 차례대로 했다고 해보자.

숫자 1 삽입 - 숫자 2 삽입 - 숫자 4 삽입 -  숫자 하나 삭제 -  숫자 하나 삭제 - 숫자 3 삽입

그렇다면 과정 별 결과는 아래 그림과 같을 것이다.

 

이제 STL Queue 라이브러리 선언과 함수에 대해 간단하게 정리하겠다.

 

queue container 은 <queue> 헤더파일 안에 존재한다.

기본 생성자 형식은 queue < DATA TYPE > 변수 이름 이다.

queue container 의 멤버 함수는

  • front()
    • 가장 처음 들어간 자료에 접근한다. (pop 하면 나올 자료)
  • back()
    • 가장 나중에 들어간 자료에 접근한다. (가장 최근에 push 한 자료)
  • empty()
    • Queue가 비어있는지 확인하는 함수이다.
    • 비어있다면 1(True)를, 차있다면 0(False)를 반환한다.
  • size()
    • Queue의 크기를 반환하는 함수이다.
    • 자료의 개수를 반환한다.
  • push()
    • 자료 하나를 Queue에 집어 넣는다.
  • pop()
    • 가장 먼저 들어간 자료를 삭제한다. ( 맨 앞에 있는 자료를 삭제한다.) 

 

#include <iostream> 
#include <queue> 

using namespace std; 

int main()
{ 	queue<int> q; 
	q.push(1); 
	q.push(2); 
	q.push(4); 
	q.pop(); 
	q.pop(); 
	q.push(3); 
	while(!q.empty())
	{ cout<<q.front()<<endl; q.pop(); } 
}​

 

 

 

 

*유의사항

- 공부 중인 인공지능공학과 대학생이 정리해서 남긴 정리입니다.

- 정확하지 않거나, 틀린 점이 있다면 댓글로 알려주시면 감사하겠습니다.

 
반응형

'Algorithm' 카테고리의 다른 글

[백준 1158번] 요세푸스 문제 (C++)  (0) 2022.02.13
[백준 10845번] 큐 (C++)  (0) 2022.02.13
[백준 1874번] 스택 수열 (C++)  (0) 2022.02.11
[백준 9012번] 괄호 (C++)  (1) 2022.02.09
[백준 9093번] 단어 뒤집기 (C++)  (0) 2022.02.09
'Algorithm' 카테고리의 다른 글
  • [백준 1158번] 요세푸스 문제 (C++)
  • [백준 10845번] 큐 (C++)
  • [백준 1874번] 스택 수열 (C++)
  • [백준 9012번] 괄호 (C++)
성 언
성 언
AI 학과 3학년 학생이자 RAG 기반 LLM 챗봇 개발 회사에서 근무 중입니다. AI 챗봇 개발과 관련된 기술, 연구, 그리고 실험 과정에서 얻은 인사이트를 공유합니다. 최신 AI 기술을 함께 탐구하며 성장해 나가요!
    반응형
  • 성 언
    AI EON
    성 언
  • 전체
    오늘
    어제
    • AII
      • NLP
      • AI Paper Review
      • MLOps
      • Python
      • Algorithm
      • Memo
      • Server Developer
        • Node.js
        • DataBase&Data Engineering
        • Server Basic
      • MATH
        • Linear Algebra
        • AI
      • etc
  • 블로그 메뉴

    • 홈
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    docx-template
    다중 버전 동시성 제어
    더티 쓰기
    스택
    트랜잭션
    비반복 읽기
    reranker
    백준
    그리디 알고리즘
    알고리즘
    node.js
    Python
    배열의 모양 변경
    transaction
    map 함수
    파이썬
    패스트캠퍼스 수강 후기
    파이썬 문서 자동화
    팬텀 읽기
    더티 읽기
    문서 자동화
    [Numpy] squeeze & unsqueeze
    리랭커
    umc
    c++
    배타 잠금
    NVML
    word 자동화
    Ubuntu-20.04 APM 소스 설치
    Signature 초격차 패키지
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
성 언
[알고리즘] 큐 (C++)
상단으로

티스토리툴바