И напоследок завершающая статья цикла про работу со списками в C++. Она будет посвящена обмену местами двух соседних элементов в однонаправленном циклическом списке. Хочу заметить, что именно соседних. Два элемента, которые не являются соседями, менять местами надо по-другому.
bool swap (Elem* &first, int search) { if (!first) return false; Elem* cur=first; while ((cur->next!=first) && (cur->next->inf1!=search)) { Elem* a=cur->next; Elem* b=a->next; a->next=b->next; cur->next=b; b->next=a; return true; } return false; }
Comments ( 0 )