Вставить элемент в двусвязную очередь
#include <search.h>void insque( void *elem,void *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
Предыдущий раздел: Описание API системной библиотеки