remove interface
This commit is contained in:
parent
e995714826
commit
670053354e
2 changed files with 1 additions and 15 deletions
|
@ -1,16 +1,9 @@
|
|||
# treeiter
|
||||
|
||||
В этой задаче нужно написать итератор по бинарному дереву.
|
||||
Это дерево удовлетворяет следующему интерфейсу и само является типом `T` в нем:
|
||||
|
||||
```go
|
||||
type Node[T any] interface {
|
||||
Left() *T
|
||||
Right() *T
|
||||
}
|
||||
```
|
||||
|
||||
Итератор должен принимать на вход дерево и
|
||||
функцию с одним аргументом типа дерева, не возвращающую ничего.
|
||||
Сигнатуру необходимо придумать самостоятельно так, чтобы прошли тесты.
|
||||
|
||||
Пример использования итератора можно посмотреть в `treeiter_example_test.go`
|
||||
|
|
|
@ -6,18 +6,11 @@ import (
|
|||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
type Node[T any] interface {
|
||||
Left() *T
|
||||
Right() *T
|
||||
}
|
||||
|
||||
type ValuesNode[T any] struct {
|
||||
value T
|
||||
left, right *ValuesNode[T]
|
||||
}
|
||||
|
||||
var _ Node[ValuesNode[any]] = (*ValuesNode[any])(nil)
|
||||
|
||||
func (t ValuesNode[T]) Left() *ValuesNode[T] {
|
||||
return t.left
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue