[Swift] (자료구조) 우선순위 큐 / Priority Queue
2022. 8. 26. 23:52ㆍ🐣/자료구조
import Foundation
struct PriorityQueue<T: Comparable> {
var heap: Heap<T>
init(_ elements: [T] = [], _ sort: @escaping (T, T) -> Bool) {
heap = Heap(elements: elements, sortFunction: sort)
}
var count : Int {
return heap.count
}
var isEmpty : Bool {
return heap.isEmpty
}
func top () -> T? {
return heap.peek
}
mutating func clear () {
while !heap.isEmpty {
_ = heap.remove()
}
}
mutating func pop() -> T? {
return heap.remove()
}
mutating func push(_ element: T) {
heap.insert(node: element)
}
}
'🐣 > 자료구조' 카테고리의 다른 글
[Swift] (자료구조) 이진 탐색 트리 / Binary Search Tree (0) | 2022.09.01 |
---|---|
[Swift] (자료구조) 트리와 이진 트리 / Binary Tree (0) | 2022.09.01 |
[Swift] (자료구조) 큐 / Queue (0) | 2022.08.06 |
[Swift] (자료구조) 힙 / Heap (0) | 2022.08.01 |
[Swift] (자료구조) 더블 링크드 리스트 / Doubly Linked List (0) | 2022.08.01 |