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 |