큐 공부 이해
//큐 (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 |