Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 반려견 종류
- 반려견 사료등급
- 부산 맛집
- 강아지종류
- 동인천 맛집
- 국비지원 예습
- 강아지
- 반려견 유기농
- 강아지 종류
- 반려견
- 반려견 더위
- 쿠팡매크로
- 반려견 유기농 사료
- 반려견 열사병
- 샤로수길 데이트
- 강아지 유기농
- 자동화봇
- 강아지 더위
- 티켓팅메크로
- 강아지 유기농 사료
- 반려견 홀리스틱
- 닥스훈트
- 강아지 열사병
- 강아지 홀리스틱
- 샤로수길 맛집
- 티켓팅매크로
- 신포동 맛집
- 쿠팡메크로
- 홀리스틱 유기농
- 서울대입구 맛집
Archives
- Today
- Total
심심한잉여의 잡동사니
[자료구조] 큐(Queue) (feat. java) 본문
반응형
Queue(큐)란?
큐는 자료구조의 스택과 반대의 수조라고 볼 수 있다. 큐는 FIFO(선입선출)의 형태를 가지고 있으며 가장 먼저 들어온 데이터가 가장 먼저 나가는 구조를 뜻한다.
- Enqueue : 맨 뒤에 데이터를 추가
- Dequeue : 큐 맨 앞쪽의 데이터를 삭제
특징
1. 큐의 한쪽을 Front로 정하여 삭제 연산만을 수행하게 된다.
2. Front와 반대 쪽을 Rear로 정하여 삽입연산만 수행하게 된다.
3. 그래프 넓이 우선 탐색(BFS)에서 사용된다.
4. 많은 입력을 처리 하지 못할 때, 버퍼(큐)를 만들어 대기 시킨 후 먼저 들어온 입력먼저 처리한다.
Queue 예제
Queue<Integer> queue = new LinkedList<Integer>();
queue.offer(1);
queue.offer(2);
queue.offer(3);
queue.offer(4);
queue.offer(5);
while(!queue.isEmpty()){
System.out.println(queue.poll());
}
위 코드와 같이 작성을 하게 된다면 콘솔에 1,2,3,4,5가 입력이 될 것이다.
만일 위 순서와 같이 스택으로 사용을 헀다면 5,4,3,2,1이 나왔을 것이다.
이제 큐와 스택의 차이를 어느정도 알게 되었을 것이다.
큐(Queue)의 메소드
- isEmpty() : 큐가 비었는지 확인해주는 함수 비었다면 true, 아니면 false를 반환
- add() : 큐에 값 추가
- poll() : 맨 앞의 값을 삭제하고 그 값을 반환
- remove() : 맨 앞의 값을 삭제
- size() : 큐의 크기를 반환
- peek() : 맨 앞의 값을 반환(삭제 x)
반응형
'코딩일기 > 자료 구조' 카테고리의 다른 글
[디자인 패턴] 싱글톤 패턴(Singleton)이란? (0) | 2022.11.28 |
---|---|
[디자인 패턴] 디자인 패턴이란 (0) | 2022.11.10 |
[자료구조] 스택(Stack)이란?(feat. Java) (0) | 2022.04.30 |
[자료구조] 링크드리스트(LinkedList) (feat.Java예제) (0) | 2022.04.29 |
[자료구조] 자료구조란? (0) | 2022.04.27 |