NOMBRE¶
insque, remque - inserta/quita un elemento de una cola
SINOPSIS¶
#include <stdlib.h>
void insque(struct qelem *elem, struct qelem *prev);
void remque(struct qelem *elem);
DESCRIPCIÓN¶
insque() y
remque() son funciones para manipular colas hechas a
partir de listas doblemente enlazadas. Cada elemento en esta lista es de tipo
struct qelem.
La estructura
qelem se define como
struct qelem {
struct qelem *q_forw;
struct qelem *q_back;
char q_data[1];
};
insque() inserta el elemento apuntado por
elem inmediatamente
detrás del elemento apuntado por
prev, que
NO debe ser
NULL.
remque() quita el elemento apuntado por
elem de la lista
doblemente enlazada.
SVR4
FALLOS¶
El campo q_data se define algunas veces como de tipo
char *, y en Solaris
2.x no parece que exista en absoluto.
La localización de los prototipos de estas funciones difiere según las
diversas versiones de UNIX. Algunos sistemas las ponen en <search.h>,
otros en <string.h>. Linux las pone en <stdlib.h> puesto que es el
sitio donde parecen tener mayor sentido.
Algunas versiones de UNIX (como HP-UX 10.x) no definen una
struct qelem,
sino que los argumentos de
insque() y de
remque() son de tipo
void *.