Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

insque, remque - Element in Queue einfügen oder aus Queue entfernen

&pagelevel(4)&pagelevel

Definition

#include <search.h>

void insque(void *element, void *pred);

void remque(void *element);

Beschreibung

insque() und remque() ändern Queues, die aus doppelt verketteten Elementen erzeugt werden. Die Queue kann linear oder ringförmig verkettet sein. Um die Funktionen insque() und remque() benutzen zu können, muss in der Anwendung eine Struktur definiert sein, die zunächst zwei Zeiger auf eben diese Struktur enthält. Die weiteren Komponenten der Struktur sind anwendungsspezifisch. Der erste Zeiger der Struktur verweist auf den nächsten Eintrag in der Queue. Der zweite Zeiger verweist auf den vorherigen Eintrag in der Queue. Wenn die Queue linear ist, wird sie durch Nullzeiger abgeschlossen. Die Namen der Struktur und der darin enthaltenen Zeiger sind frei wählbar.

insque() fügt das Element, auf das element zeigt, in einer Queue direkt hinter pred ein.

remque() entfernt das Element, auf das element zeigt, aus einer Queue.

Der Aufruf insque(& element , NULL), wobei element das erste Element der Queue ist, dient dazu, eine lineare Liste zu initialisieren. Die beiden Zeiger von element werden mit Nullzeigern belegt.

Um eine ringförmig verkettete Liste aufzubauen, muss die Anwendung zunächst die Adresse des Startelements der Queue in die beiden Zeiger des Startelements eintragen.