Я в большом тупике
Как использовать итератор в C# как итератор в C++? Я не могу найти аксессор Begin() или End(), я даже не могу найти, как объявить итератор. Я читал о Ienumerator. Моя цель - реализовать функцию Merge. Вот часть моей функции Merge, написанная на C++. В основном, я ищу эквивалент того, что показано на C#, только я буду использовать тип Reference, а не целые числа.
void merge(vector<int>::iterator left, vector<int>::iterator right, vector<int>::iterator leftEnd, vector<int>::iterator rightEnd, vector<int>::iterator full)
{
while(left != leftEnd && right!= rightEnd) //compare left and right until the end of the vector is reached
{
if(*right < *left) //right < left so insert right to the output vector and advance the iterators
{
*full++ = *right++;
}
else //left < right so insert left to the output vector and advance the iterators
{
*full++ = *left++;
}
}
while(left != leftEnd) //copy any remaining elements into the output from left
{
*full++ = *left++;
}
}
Также, какую коллекцию (коллекции) я должен использовать? (в настоящее время я пробовал List
и LinkedList
).