Студент: Наумов Дмитрий Кириллович
2022г.
Научный руководитель: Аксёнов В.Е
Учебная группа: M34351
Операции:
Типы операций модификации:
1. fun getDistance(index: Int): Double? {
2. val vertex = vertexes[index] ?: return null
3. return vertex.getDistance().distance
4. }
5.
6. fun getDistance(): Distance {
7. while (true) {
8. val curDescriptor = descriptor.value
9. val curStatus = curDescriptor.process.status.value
10. val curDistance = readActual(curDescriptor, curStatus)
11. if (descriptor.value === curDescriptor) {
12. return curDistance
13. }
14. }
15. }
fun setEdge(fromIndex: Int, toIndex: Int, newWeight: Double): Boolean {
if (fromIndex == toIndex) return false
val from = vertexes[fromIndex] ?: return false
val to = vertexes[toIndex] ?: return false
while (true) {
val process = Process(priority, newWeight)
process.from = from
process.to = to
process.help()
if (process.status.value == Status.SUCCESS) {
return true
}
}
}