h*********o 发帖数: 230 | 1 比如
A={1,2,3,4,5};
peek()=1;
pop()=1;
peek()=2;
pop()=2;
peek()=3;......... |
j*****y 发帖数: 1071 | 2 怎么 定义 peek(), pop() 阿
stack 里面的 pop()吗? peek 和 stack里面的 top()是一样的吗?
【在 h*********o 的大作中提到】 : 比如 : A={1,2,3,4,5}; : peek()=1; : pop()=1; : peek()=2; : pop()=2; : peek()=3;.........
|
c*****a 发帖数: 808 | |
h*********o 发帖数: 230 | 4 嗯,看例子应该是跟stack的一样的,
peek()就是top
【在 j*****y 的大作中提到】 : 怎么 定义 peek(), pop() 阿 : stack 里面的 pop()吗? peek 和 stack里面的 top()是一样的吗?
|
t*********h 发帖数: 941 | 5 have a tmp variable to next element?
【在 h*********o 的大作中提到】 : 比如 : A={1,2,3,4,5}; : peek()=1; : pop()=1; : peek()=2; : pop()=2; : peek()=3;.........
|
j*****y 发帖数: 1071 | 6 这个 iterator 的 api怎么用呢 ?
似乎像是一个 stack, 但是 stack是没有 iterator的,
可以用一个 vector来存储, vector 可以 push_back 和 pop_back
这两个类似于 stack的 push 和 pop
有点confuse不知道如何call iterator 来 pop 和push
难道是说, 假设有个 iterator it, 我们可以call
it->peek(), it->pop() ?
【在 t*********h 的大作中提到】 : have a tmp variable to next element?
|
h*********o 发帖数: 230 | 7 呵呵 typo
改过来了
【在 c*****a 的大作中提到】 : pop了2, 3不见了?
|
h*********o 发帖数: 230 | 8 不知道是不是stack啊,给的例子就是这样,
像是数组啥的。。
【在 j*****y 的大作中提到】 : 这个 iterator 的 api怎么用呢 ? : 似乎像是一个 stack, 但是 stack是没有 iterator的, : 可以用一个 vector来存储, vector 可以 push_back 和 pop_back : 这两个类似于 stack的 push 和 pop : 有点confuse不知道如何call iterator 来 pop 和push : 难道是说, 假设有个 iterator it, 我们可以call : it->peek(), it->pop() ?
|
p*****2 发帖数: 21240 | 9 class Iterator[T](arr:Array[T]){
private[this] var pos=0
def peek()={
if(pos
}
def pop()={
if(pos
}
def reset(){
pos=0
}
}
object test2 extends App {
val arr=Array(1,2,3,4,5)
val it=new Iterator(arr)
println(it.peek())
println(it.pop())
println(it.peek())
println(it.pop())
println(it.peek())
println(it.pop())
} |
j*****y 发帖数: 1071 | 10 二爷这个iterator 和 stack 好像是一样的?
class iterator == class stack ?
【在 p*****2 的大作中提到】 : class Iterator[T](arr:Array[T]){ : private[this] var pos=0 : def peek()={ : if(pos: } : : def pop()={ : if(pos: } :
|
|
|
p*****2 发帖数: 21240 | 11
iterator 是immutable的吧?
【在 j*****y 的大作中提到】 : 二爷这个iterator 和 stack 好像是一样的? : class iterator == class stack ?
|
j*****y 发帖数: 1071 | 12 何为 immutable ? sorry :)
【在 p*****2 的大作中提到】 : : iterator 是immutable的吧?
|
p*****2 发帖数: 21240 | 13
我记得只能iterate不能改变吧
【在 j*****y 的大作中提到】 : 何为 immutable ? sorry :)
|
j*****y 发帖数: 1071 | 14 这样的话,你这里的 iterator 也提供了 pop()操作,也是改变了,是吧?
【在 p*****2 的大作中提到】 : : 我记得只能iterate不能改变吧
|
p*****2 发帖数: 21240 | 15
数组没有被改变。还可以reset
【在 j*****y 的大作中提到】 : 这样的话,你这里的 iterator 也提供了 pop()操作,也是改变了,是吧?
|
j*****y 发帖数: 1071 | 16 明白了,你的这个 iterator就是一个没有 push操作的 stack, 是吧?
【在 p*****2 的大作中提到】 : : 数组没有被改变。还可以reset
|
p*****2 发帖数: 21240 | 17
感觉iterator和stack还不是一回事。
不过这个题目的定义比较confusing
应该是hasNext, next比较好。
【在 j*****y 的大作中提到】 : 明白了,你的这个 iterator就是一个没有 push操作的 stack, 是吧?
|
c********t 发帖数: 5706 | 18 同意,这道题里面pop和iterator next 感觉是一样的,没必要实现。
不过你用array来实现,感觉不合题意吧。我觉得extend Iterator,overwrite next
hasNext, remove, add pop and peek methods是正解。
【在 p*****2 的大作中提到】 : : 感觉iterator和stack还不是一回事。 : 不过这个题目的定义比较confusing : 应该是hasNext, next比较好。
|