1 분 소요

설명

  • 큐(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; } }

```

댓글남기기