큐
설명
-
큐(Queue)
-
설명 : 큐는 선입선출(FIFO, First-In-First-Out) 원칙에 따라 데이터를 저장하고 접근하는 자료구조입니다. 요소는 뒤에 추가되고, 앞에서 제거됩니다.
-
구현 방법 : 배열 또는 연결 리스트로 구현됩니다. 배열로 구현할 경우에는 front와 rear 포인터를 유지하여 요소를 삽입하고 삭제합니다. 연결 리스트로 구현할 경우에는 front와 rear 노드를 가리키는 포인터를 유지합니다.
-
사용 사례 : 작업 대기열, 네트워크 패킷 처리, 스레드 관리 등 선입선출의 필요한 상황에 사용됩니다.
- 장단점 :
- 장점: 데이터의 삽입과 삭제가 효율적으로 이루어지며, 선입선출 순서를 보장
- 단점: 크기가 제한적이며, 중간 요소에 접근하기 어려움
큐 시뮬레이션
큐 시뮬레이션
코드로 알아보기
-
Java
```Java public class MyQueue { private int[] array; private int front; private int rear; private int size; private int capacity;
public MyQueue(int capacity) { this.capacity = capacity; array = new int[capacity]; front = 0; rear = -1; size = 0; }
public void enqueue(int element) { if (isFull()) throw new IllegalStateException(“Queue is full”); rear = (rear + 1) % capacity; array[rear] = element; size++; }
public int dequeue() { if (isEmpty()) throw new NoSuchElementException(“Queue is empty”); int removedElement = array[front]; front = (front + 1) % capacity; size–; return removedElement; }
public int peek() { if (isEmpty()) throw new NoSuchElementException(“Queue is empty”); return array[front]; }
public boolean isEmpty() { return size == 0; }
public boolean isFull() { return size == capacity; } }
```
댓글남기기