Пример: използване на член-функцията 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$