ВУЗ:
Составители:
Рубрика:
147
Для вставки нового элемента в начало списка достаточно, чтобы
указатель p принял значение адреса заглавного элемента списка: p=h;
Удаление элемента
Возможность двигаться по указателям в любом направлении по-
зволяет задавать исключаемое звено указателем p непосредственно на
само это звено:
p->next->pred = p->pred;
p->pred->next = p->next;
delete p;
Поиск элемента
Пусть h – указатель на заглавный элемент списка, r – указатель,
который будет указывать на найденное звено, содержащее k. Пусть
также p, q – переменные типа elem*, b – типа int. Поиск элемента, со-
держащего число k, осуществляется так:
b=1; h->data = k+1; // В информационную часть заглавного
звена
// заведомо занесём число, отличное от k.
p=h->next; // Сначала p указывает на первое звено.
r=NULL;
q=p; // q указывает на первое звено.
do {
if (p->data= =k){
b=0;
r=p;
}
p=p->next;
}while ((p!=q) && b);
Заметим, что если в списке вообще нет звена, содержащего k, то
после поиска значение b останется равным единице, указатель r будет
равен NULL, а p примет значение q, т.е. снова будет указывать на пер-
вое звено (после заглавного).
25. Стеки
В программировании часто используется структура данных, кото-
рая называется очередью. Над очередью определены две операции – за-
несение элемента в очередь и выбор элемента из очереди. При этом вы-
бранный элемент исключается из очереди. В очереди доступны две по-
зиции – ее начало (из этой позиции выбирается элемент из очереди) и
Страницы
- « первая
- ‹ предыдущая
- …
- 143
- 144
- 145
- 146
- 147
- …
- следующая ›
- последняя »