Функциональное бинарное дерево поиска в котлине - PullRequest
0 голосов
/ 10 мая 2019

Я хочу реализовать двоичное дерево поиска в kotlin.

class BinarySearchTree<out T>
object Nil : BinarySearchTree<Nothing>
val a: BinarySearchTree<Int> = Nil // works fine

Однако, чтобы добавить элемент типа K в дерево, мне нужен тип K для расширения T иреализовать Comparable<T>.Если я использую следующий код, то получаю ошибку

fun <K> add(b : K) where K : T, K : Comparable<T> {}

Ошибка: тип T объявляется как «out», но встречается в позиции «in» в типе T.

Как я могу исправить интерфейс этого метода или класса, чтобы избавиться от проблемы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...