Пример: използване на член-функцията insert
За да демонстрираме използването на член-функцията insert добавяме следният фрагмент към главната функция:
int main() {
...
List::iterator it=l.get_iterator();
while(it.has_next() && it.next()!=10) {
// do nothing
}
l.insert(it,0);
print_list(l);
return 0;
}
Кодът в редове 5-8 обхожда елементите на списъка докато не намери елемент със стойност 10. При излизане от списъка итератора it или е насочен към елемент със стойност 10 или е насочен към фиктивният елемент. Тъй като в нашият списък List l имаме елемент със стойност 10 итераторът е насочен към този елемент.
При извикване на член-функцията insert в ред 9 в списъка се вмъква нов елемент със стойност 0 преди елемента със стойност 10. Преди изпълнението на фрагмента, елементите в списъка са:
-20 -10 10 20
След изпълнението на този фрагмент се очаква елементите на списъка да бъдат:
-20 -10 0 10 20
Очакваният изход от изпълнението на програмата е следният:
lubo@bolt:~/code$ g++ list.cc lubo@bolt:~/code$ ./a.out ListError: back(): list is empty ListError: front(): list is empty 10 20 -10 -20 -20, -10, 10, 20, [-20, -10, 10, 20, ] [-20, -10, 0, 10, 20, ] lubo@bolt:~/code$
