Algorithm/Data structure

Swift - Queue구현

Teol 2023. 12. 4. 02:37

큐 공부 이해

//큐 (Array를 이용하여 구현)
var qe = [Character]()
qe.insert("A", at: 0)
qe.insert("B", at: 1)
qe.append("C")
print(qe)

//enqueue, dequeue, isEmpty, size, FirstValue
struct Queue<T> {
    private var queue : [T?] = []
    private var front : Int = 0
    
    public var firstValue : Int {
        self.front
    }
    
    private var isEmpty : Bool {
        return queue.isEmpty
    }
    
    private var size : Int {
        return queue.count
    }
    
    public mutating func enqueue(inValue : T){
        return queue.append(inValue)
    }
    
    public mutating func dequeue() -> T? {
        return isEmpty ? nil : queue.removeFirst()
    }
}

 

큐는 배열로 구현하고 값을 넣는 enqueue와 값을 삭제하는dequeue가 있다

큐와 배열이 다른점은 큐는 FIFO형식을 하고있는데 처음온것 First in이 처음 나간다First out는 뜻이다

그 외 size를 알려주는 size메서드와 큐가 비었는지 알려주는 isEmpty, 첫값을 알려주는 FirstValue가 있다 

 

'Algorithm > Data structure' 카테고리의 다른 글

Swift - quick sort  (0) 2023.11.04
Swift - selection sort  (1) 2023.11.04
Swift - bubble sort  (0) 2023.11.03