insque()

Вставить элемент в двусвязную очередь

Прототип:

#include <search.h>
void insque( void *elem,
void *pred );

Аргументы:

elem
Указателль на элемент, который необходимо вставить в очередь.
pred
Указатель на предыдущий элемент списка или NULL если необходимо инициализировать первый элемент списка.

Библиотека:

libc

Описание:

Функция insque() вставляет элемент, указанный в elem в двусвязную очередь сразу после элемента, указанного в pred. Очередь может быть как циклической так и линейной.

Первые два поля элемента должны быть указателями на элементы такого же типа, как elem; названия полей не имеют значения. В первом поле должен находится элемент, который будет указателем на следующий элемент очереди, а во втором поле - на предыдущий элемент очереди. Следом за указанными полями в структуре могут находится любые другие дополнительные поля.

Если очередь линейна, последний элемент очереди будет равен NULL.

Если очередь должна использоваться как линейный список, вызовите insque( &element, NULL), где element - это начальный элемент очереди, следующий и предыдущий элемент очереди будут инициализированы значением NULL.

Если очереди должна использоваться как циклический список, вызовите insque(&element, &element), где element - это начальный элемент очереди, следующий и предыдущий элемент очереди будут инициализированы значением &element.

Для удаления элемента из очереди используйте remque().

Классификация:

POSIX 1003.1 X/Open Systems Interfaces Extension

Безопасность использования
Точка остановки потока
Нет
Обработчик прерываний
Да
Обработчик сигналов
Да
В потоке
Да

Тематические ссылки:

remque()




Предыдущий раздел: Описание API системной библиотеки