Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Алгоритм удаления звена из очереди





Пусть очередь не пуста (no! =NULL). Изобразим ее схематически:

Рисунок 13 - Очередь

Приступим к удалению звена. Напомним, что звено удаляется из очереди из ее начала.

1. Сохраним удаляемый элемент:

klad = (*no).elem; //первый элемент очереди

// сохранен в переменной klad

Рисунок 14 - Сохранение удаляемого элемента

2. Сохраним указатель на удаляемый элемент и " перенастроим" указатель на начало очереди:

q = no; // сохранение указателя на удаляемый элемент

no = (*no).sled; // присваивание указателя начала

// очереди следующему элементу

Рисунок 15 –«Перенастройка» указателя на начало очереди

3. Теперь необходимо включить в список свободной памяти удаленное из очереди звено с помощью вызова функции:

delete q; //удаление звена очереди

Рисунок 16 - Возврат памяти

Запишем приведенную схему в виде функции на языке C++:

void YDALENIE (node *no, node *ko, int klad)

// Удаление звена из очереди, определенной указателями //*no и *ko. Значение информационного поля //удаленного звена

// сохраняется в параметре klad.

{// открытие тела функции YDALENIE

node *q; // указатель на удаляемое звено

 

if (*no==NULL)// если очередь пуста

cout< < " Удалить нельзя, так как очередь пуста! \n";

// вывод текста на дисплей

else // иначе

{ // открытие else

*klad = (*no).elem; //сохранение первого элемента в klad

q = *no; // сохранение указателя на удаляемый элемент

//в q

*no = (*no).sled; // присваивание указателя начала

// очереди следующему элементу

deleteq; // удаление первого звена

} // закрытие else

}// закрытие тела функции YDALENIE

 







Дата добавления: 2014-11-10; просмотров: 532. Нарушение авторских прав; Мы поможем в написании вашей работы!




Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...


Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...


ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...


Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

Ситуация 26. ПРОВЕРЕНО МИНЗДРАВОМ   Станислав Свердлов закончил российско-американский факультет менеджмента Томского государственного университета...

Различия в философии античности, средневековья и Возрождения ♦Венцом античной философии было: Единое Благо, Мировой Ум, Мировая Душа, Космос...

Характерные черты немецкой классической философии 1. Особое понимание роли философии в истории человечества, в развитии мировой культуры. Классические немецкие философы полагали, что философия призвана быть критической совестью культуры, «душой» культуры. 2. Исследовались не только человеческая...

Классификация ИС по признаку структурированности задач Так как основное назначение ИС – автоматизировать информационные процессы для решения определенных задач, то одна из основных классификаций – это классификация ИС по степени структурированности задач...

Внешняя политика России 1894- 1917 гг. Внешнюю политику Николая II и первый период его царствования определяли, по меньшей мере три важных фактора...

Оценка качества Анализ документации. Имеющийся рецепт, паспорт письменного контроля и номер лекарственной формы соответствуют друг другу. Ингредиенты совместимы, расчеты сделаны верно, паспорт письменного контроля выписан верно. Правильность упаковки и оформления....

Studopedia.info - Студопедия - 2014-2025 год . (0.012 сек.) русская версия | украинская версия