| 12345678910111213141516171819202122232425262728 |
- package main
- // github.com/psilva261/timsort
- type iter struct {
- a []int
- index int
- }
- func (it *iter) Next() int {
- it.index ++
- return it.a[it.index]
- }
- func newIter(a []int) *iter {
- return &iter{a:a, index: -1}
- }
- func (it *iter) Has() bool {
- return it.index < len(it.a) - 1
- }
- func main() {
- it := newIter([]int{1, 2, 3})
- for it.Has() {
- println(it.Next())
- }
- }
|