Нарисовать граф

Ответить
zzzzza
Сообщения: 1
Зарегистрирован: 26 апр 2019, 19:28

Нарисовать граф

Сообщение zzzzza » 26 апр 2019, 19:38

Всем привет!

Только начал изучать Kotlin и писать приложения под Android.
У меня есть класс "Graph", который я взял с сайта (https://www.fandroid.info/8-5-osnovy-kotlin-grafy/):

Код: Выделить всё

class Graph {
    private data class Vertex(val name: String) {
        val neighbors = mutableSetOf<Vertex>()
    }
 
    private val vertices = mutableMapOf<String, Vertex>()
 
    private operator fun get(name: String) = vertices[name] ?: throw IllegalArgumentException()
 
    fun addVertex(name: String) {
        vertices[name] = Vertex(name)
    }
 
    private fun connect(first: Vertex, second: Vertex) {
        first.neighbors.add(second)
        second.neighbors.add(first)
    }
 
    fun connect(first: String, second: String) = connect(this[first], this[second])
 
    fun neighbors(name: String) = vertices[name]?.neighbors?.map { it.name } ?: listOf()
}
А вот как можно нарисовать граф с возможностью выбора вершины, то есть когда в течение некоторого времени удерживаешь палец на какой-нибудь вершине, выдается сообщение с выбором "Отсюда" или "Сюда" - понять не могу. Подскажите, пожалуйста.

Ответить