
FIFO (First in First out) 구조
struct Queue<T> {
private var elements = [T]()
mutating func enqueue(_ element: T) {
elements.append(element)
}
mutating func dequeue() -> T? {
return elements.isEmpty ? nil : elements.removeFirst()
}
}
var myQueue = Queue<Int>()
myQueue.enqueue(10)
myQueue.dequeue()
예외 처리에 대해 고려하지 않은 Queue.
위의 예시 코드에서 추가되어야 할 사항
Generic 타입을 사용해 어떤 타입의 데이터든 저장할 수 있게함.
append 메서드를 사용하여 Enqueue (시간복잡도 : O(1) )
https://developer.apple.com/documentation/swift/array/append(_:)
removeFirst 메서드를 사용하여 Dequeue ( 시간복잡도: O(n) )
https://developer.apple.com/documentation/swift/array/removefirst()