Comments (4)
Not at the moment, but somebody proposed something interesting:
All three, including yourself, are asking for the same thing more or less, i.e. the ability to get the iterator from a specific location. For key-value structures that's the key, for others perhaps the index.
Not sure if I will call it list.IteratorAt(1)
/ tree.iteratorAt('someKey')
or seek()
, but this will definitively be implemented in future! Keeping this issue open until it's implemented on all structures that can be iterated.
from gods.
@mcauto I don't have a strong opinion on either.
so SetIndex()
and SetKey()
would move the iterator to the given index/key, right?
from gods.
I think making setter method in iterator is better than IteratorAt()
or seek()
What do you think?
from gods.
#189 Implements the NextTo iterator function.
@mcauto please let me know if the below implements the requested functionality so that I can reopen this issue:
seek := func(index int, value interface{}) bool {
return index == 3
}
for found := it.NextTo(seek); found; found = it.Next() {
index, value := it.Index(), it.Value()
}
PS. I hope that this NextTo function can support the requested functionality rather than adding more functions (SetIndex and SetKey). The reason is to keep GoDS as minimal as possible and yet flexible. But please let me know if it is not what you asked for and I'll reevaluate again, adding SetIndex and SetKey is simple
from gods.
Related Issues (20)
- Add to Go official wiki? HOT 3
- generic upgrade request HOT 3
- RedBlackTree: Iterators become invalid after removing an element. HOT 2
- DS which can give element if present or next greater if not present, elements should be stored in sorted order HOT 2
- LinkedHashMap Sort? HOT 3
- Multiset support HOT 1
- deque support
- hashset should support NewWith Comparator
- Add method of Set lack info about the insert take place or not
- treeset:The names of each element are not equal, why is second_8 disappearing? HOT 1
- godslist.js refrence in chrome 120.0.6099.225 console
- Add elements of a slice [] T
- Red black tree: Unresolved reference 'NewWithIntComparator'
- Red black tree: package cmp is not in GOROOT (/usr/lib/golang/src/cmp)
- Interfaces support any types HOT 5
- Why cannot index priorityqueue.NewWith (value of type func(comparator utils.Comparator) *priorityqueue.Queue)? HOT 1
- A issue In BinaryHeap
- linkedhashmap json.Marshal error HOT 1
- treeset json.Unmarshal error HOT 1
- Update documention to use V2 version of generics
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gods.