Студопедия

Главная страница Случайная лекция


Мы поможем в написании ваших работ!

Порталы:

БиологияВойнаГеографияИнформатикаИскусствоИсторияКультураЛингвистикаМатематикаМедицинаОхрана трудаПолитикаПравоПсихологияРелигияТехникаФизикаФилософияЭкономика



Мы поможем в написании ваших работ!




Удаление элемента из двунаправленного списка

Из динамических структур можно удалять элементы, так как для этого достаточно изменить значения адресных полей. Операция удаления элемента из двунаправленного списка осуществляется во многом аналогично удалению из однонаправленного списка (рис. 29.6).


Рис. 29.6.Удаление элемента из двунаправленного списка

/*удаление элемента с заданным номером из двунаправленного списка*/Double_List* Delete_Item_Double_List(Double_List* Head, int Number){ Double_List *ptr;//вспомогательный указатель Double_List *Current = Head; for (int i = 1; i < Number && Current != NULL; i++) Current = Current->Next; if (Current != NULL){//проверка на корректность if (Current->Prior == NULL){//удаляем первый элемент Head = Head->Next; delete(Current); Head->Prior = NULL; Current = Head; } else {//удаляем непервый элемент if (Current->Next == NULL) { //удаляем последний элемент Current->Prior->Next = NULL; delete(Current); Current = Head; } else {//удаляем непервый и непоследний элемент ptr = Current->Next; Current->Prior->Next =Current->Next; Current->Next->Prior =Current->Prior; delete(Current); Current = ptr; } } } return Head;}

<== предыдущая страница | следующая страница ==>
Вставка элемента в двунаправленный список | Удаление двунаправленного списка

Дата добавления: 2015-07-26; просмотров: 149; Нарушение авторских прав




Мы поможем в написании ваших работ!
lektsiopedia.org - Лекциопедия - 2013 год. | Страница сгенерирована за: 0.003 сек.