Our Blog

Добавление нового элемента в середину списка C++

Наверное, самой интересной функцией будет добавление добавление нового элемента в середину списка. С ее помощью можно отыскать то место, в которое необходимо добавить новый элемент списка. Напомню, что в цикле статей уже рассматривались добавление нового элемента в начало списка и добавление нового элемента в конец списка.

Принцип работы таков, что мы добавляем новый элемент в список после уже существующего элемента с заданным значением поля inf1. Покажу реализацию для однонаправленного циклического списка:

bool insert (Elem* first, int search, int inf1) {
if (!first) return false;
Elem* cur=first;
while ((cur->next!=first) && (cur->inf1!=search)) {
   cur=cur->next;
}
if (cur->inf1==search) {
   Elem* n=new Elem;
   n->inf1=inf1;
   n->next=cur->next;
   cur->next=n;
   return true;
}
return false;
}

Как Вы, наверное, поняли, функция возвращает true при успешном добавлении и false при неудачном.

Comments ( 0 )
    -->