由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 问个题
相关主题
贴一个C++ nested Iterator的code,求讨论和指正。问一道C++ template的面试题
[google面试]iterator访问请教 Iterator 一题
问一道题刷了半天题
实现vector的iterator,template问题LC的BST iterator到底要考察什么?
请教一个排序的问题what is the internal implementation of Deque
c++里vector的size()大家帮忙看看这个4sum怎么就不对
iterator 实现 如何 peek(),pop()?问个题: 找read-only array中duplicate的数
Scala怎么通过index访问set或者array问个题 weighted random sampling
相关话题的讨论汇总
话题: iter话题: outer话题: vector话题: inner话题: iterator
进入JobHunting版参与讨论
1 (共1页)
w****x
发帖数: 2483
1
怎么写vector>的iterator?
只能用stl的iterator不能用下标, 考虑空vector.
很难写啊感觉,哪位能丢个代码看看? 谢谢
h********6
发帖数: 285
2
在这个版上见过这题
S**I
发帖数: 15689
3
找个STL implementation的源代码看看不就知道了。

【在 w****x 的大作中提到】
: 怎么写vector>的iterator?
: 只能用stl的iterator不能用下标, 考虑空vector.
: 很难写啊感觉,哪位能丢个代码看看? 谢谢

w****x
发帖数: 2483
4

是vector不是vector

【在 S**I 的大作中提到】
: 找个STL implementation的源代码看看不就知道了。
S**I
发帖数: 15689
5
你是说这个iterator要遍历所有的int元素?

【在 w****x 的大作中提到】
:
: 是vector不是vector

w****x
发帖数: 2483
6

恩,要注意empty vector要跳过

【在 S**I 的大作中提到】
: 你是说这个iterator要遍历所有的int元素?
h****e
发帖数: 928
d******a
发帖数: 238
8
我刚写了个,没怎么检查,欢迎探讨。
class Iterator{
public:
` Iterator(vector> &a) : v(a)
{
m_outer_iter = v.begin();

while (m_outer_iter != v.end())
{
if (m_outer_iter->size() != 0)
break;
else
m_outer_iter++;
}

if (m_outer_iter == v.end())
m_flag = false;
else
{
m_inner_iter = m_outer_iter->begin();
m_next = *m_inner_iter;
m_flag = true;
}

}
bool HasNext()
{
return m_flag;

}

int Next()
{
int result = m_next;

m_inner_iter++;

if (m_inner_iter == m_outer_iter->end())
{
m_outer_iter++;

while (m_outer_iter != v.end())
{
if (m_outer_iter->size() != 0)
{
m_inner_iter = m_outer_iter.begin();
break;
}
else
m_outer_iter++;
}
}

if (m_outer_iter != v.end())
{
m_next = *m_inner_iter;
m_flag = true;
}
else
m_flag = false;

return result;
}

private:
vector> &v;
vector>::iterator m_outer_iter;
vector::iterator m_inner_iter;
int m_next;
bool m_flag;
}
1 (共1页)
进入JobHunting版参与讨论
相关主题
问个题 weighted random sampling请教一个排序的问题
Two problems from Googlec++里vector的size()
面完G的电面了,忐忑iterator 实现 如何 peek(),pop()?
Google onsite归来Scala怎么通过index访问set或者array
贴一个C++ nested Iterator的code,求讨论和指正。问一道C++ template的面试题
[google面试]iterator访问请教 Iterator 一题
问一道题刷了半天题
实现vector的iterator,template问题LC的BST iterator到底要考察什么?
相关话题的讨论汇总
话题: iter话题: outer话题: vector话题: inner话题: iterator