我有一个关于使用输入和输出迭代器的练习题。函数的标题如下
template<class InpIter,class OutpIter>
OutpIter my_unique_copy(InpIter first, InpIter last, OutpIter result)
该函数应将 [first,last] 范围内的元素复制到结果。在一组连续的重复元素中,仅复制第一个值。返回值是元素复制到的范围的末尾。复杂性:线性
我知道该怎么做只是想寻求一点帮助,因为我对迭代器还不太满意
template<class InpIter,class OutpIter>
OutpIter my_unique_copy(InpIter first, InpIter last, OutpIter result){
InpIter current=first;
first++;//point to second element
while(first!=last){
while(*first==*current){//Keep comparing elements to current to see if they're same
first++;
}
result=current;
current=first;
result++;
first++;
}
return result;
}