큐2 [Swfit] 큐(Queue) 구현하기 Queue를 구조체와 배열을 이용해 구현할 수 있습니다.먼저 제네릭을 활용해 Queue 구조체를 정의하고, 주요 기능을 구현해보겠습니다. struct Queue { private var queue: [T] = [] var isEmpty: Bool { return queue.isEmpty } var count: Int { return queue.count } var peek: T? { return queue.first } mutating func enqueue(_ element: T) { queue.append(element) } mutating func dequeue() .. 2024. 9. 27. [자료구조] 큐(Queue) 큐(Queue) 선입선출(First-In-First-Out, FIFO) 원칙에 따라 데이터를 저장하는 자료구조 가장 먼저 들어온 데이터가 가장 먼저 나가는 구조 한쪽 끝에서만 삽입이 이루어지고, 다른 한쪽 끝에서는 삭제 연산만 이루어지는 유한 순서 리스트 일상생활에서 줄을 서서 기다리는 것과 유사 대기열이나 작업 스케줄링 등에서 유용하게 사용 삽입 및 삭제에 O(1), 탐색에 O(n) 의 시간 복잡도를 가짐 큐(Queue)의 구현 큐는 대개 배열이나 연결 리스트를 이용해 구현 배열을 이용하는 경우, front와 rear라는 두 개의 인덱스 변수를 사용하여 큐의 시작과 끝을 가리킴 데이터를 삽입할 때에는 rear 변수를 증가시켜 새로운 데이터를 마지막에 추가 데이터를 추출할 때에는 front 변수를 증가시.. 2023. 3. 6. 이전 1 다음 반응형