var default_pq = PriorityQueue<Int>()
default_pq.add(5)
default_pq.add(3)
default_pq.add(7)
println("default")
while(!default_pq.isEmpty()){
println(default_pq.poll())
}
// default
// 3
// 5
// 7
var reverse_pq = PriorityQueue<Int>{a,b-> b.compareTo(a)}
reverse_pq.add(5)
reverse_pq.add(3)
reverse_pq.add(7)
println("reverse")
while(!reverse_pq.isEmpty()){
println(reverse_pq.poll())
}
// reverse
// 7
// 5
// 3
var pq = PriorityQueue<T>()
와 같이 우선순위큐를 생성할 수 있습니다.
C++과 다르게 comparator 전달 없이 생성하면 pop시에 작은 수부터 나오게 됩니다.
큰 수부터 나오게 하기 위해서는 두번째 예와 같이 람다 comparator를 전달해주면 됩니다.
'Problem-Solving > 코틀린으로 PS하기' 카테고리의 다른 글
다차원 배열 (0) | 2021.08.08 |
---|---|
Map (0) | 2021.07.18 |
정렬 (0) | 2021.07.15 |