queue(7) Miscellaneous Information Manual queue(7) NUME queue - implementari ale listelor legate i ale cozilor de ateptare DESCRIERE Fiierul de antet ofera un set de macrocomenzi care definesc i opereaza cu urmatoarele structuri de date: SLIST liste legate individual LIST liste dublu legate STAILQ cozi de ateptare legate individual TAILQ cozi de ateptare dublu legate CIRCLEQ cozi circulare dublu legate Toate structurile suporta urmatoarele funcionalitai: o Inserarea unei noi intrari in capul listei. o Inserarea unei noi intrari dupa orice element din lista. o O(1) eliminarea unei intrari din capul listei. o Deplasare inainte prin lista. Dimensiunea codului i timpul de execuie depind de complexitatea structurii de date utilizate, astfel incat programatorii trebuie sa aiba grija sa o aleaga pe cea potrivita. Liste legate individual (SLIST) Listele legate individual sunt cele mai simple i accepta doar funcionalitatea de mai sus. Listele legate individual sunt ideale pentru aplicaiile cu seturi de date mari i cu puine sau deloc eliminari sau pentru implementarea unei cozi LIFO. Listele legate individual adauga urmatoarele funcionalitai: o O(n) eliminarea oricarei intrari din lista. Cozi de ateptare legate individual (STAILQ) Cozile de ateptare legate individual adauga urmatoarea funcionalitate: o Se pot adauga intrari la sfaritul unei liste. o O(n) eliminarea oricarei intrari din lista. o Acestea pot fi concatenate. Cu toate acestea: o Toate inserarile de liste trebuie sa precizeze capul de lista. o Fiecare intrare de cap necesita doi indicatori in loc de unul. Cozile de ateptare legate individual sunt ideale pentru aplicaiile cu seturi mari de date i cu puine sau deloc eliminari sau pentru implementarea unei cozi FIFO. Structuri de date dublu legate Toate tipurile de structuri de date dublu legate (liste i cozi de coada) permit in plus: o Inserarea unei noi intrari inaintea oricarui element din lista. o O(1) eliminarea oricarei intrari din lista. Cu toate acestea: o Fiecare element necesita doi indicatori in loc de unul. Liste dublu legate (LIST) Listele dublu legate sunt cele mai simple dintre structurile de date dublu legate. Acestea adauga urmatoarele funcionalitai faa de cele de mai sus: o Acestea pot fi parcurse in sens invers. Cu toate acestea: o Pentru a parcurge in sens invers, trebuie sa se precizeze o intrare pentru a incepe parcurgerea i lista in care aceasta este coninuta. Cozi de ateptare dublu legate (TAILQ) Cozile de ateptare adauga urmatoarea funcionalitate: o Se pot adauga intrari la sfaritul unei liste. o Acestea pot fi parcurse in sens invers, de la coada la cap. o Acestea pot fi concatenate. Cu toate acestea: o Toate inserarile i eliminarile din lista trebuie sa precizeze capul de lista. o Fiecare intrare de cap necesita doi indicatori in loc de unul. Cozi circulare dublu legate (CIRCLEQ) Cozile circulare adauga urmatoarele funcionalitai faa de cele de mai sus: o Prima i ultima intrare sunt conectate. Cu toate acestea: o Condiia de incheiere pentru parcurgere este mai complexa. STANDARDE BSD. ISTORIC Macrocomenzile au aparut pentru prima data in 4.4BSD. NOTE Unele BSD-uri ofera SIMPLEQ in loc de STAILQ. Ele sunt identice, dar din motive istorice au fost denumite diferit pe diferite BSD-uri. STAILQ provine de pe FreeBSD, iar SIMPLEQ provine de pe NetBSD. Din motive de compatibilitate, unele sisteme furnizeaza ambele seturi de macrocomenzi. glibc furnizeaza atat STAILQ, cat i SIMPLEQ, care sunt identice, cu excepia unui echivalent SIMPLEQ lipsa pentru STAILQ_CONCAT(). CONSULTAI I circleq(3), insque(3), list(3), slist(3), stailq(3), tailq(3) TRADUCERE Traducerea in limba romana a acestui manual a fost facuta de Remus- Gabriel Chelu Aceasta traducere este documentaie gratuita; citii Licena publica generala GNU Versiunea 3 sau o versiune ulterioara cu privire la condiii privind drepturile de autor. NU se asuma NICIO RESPONSABILITATE. Daca gasii erori in traducerea acestui manual, va rugam sa trimitei un e-mail la . Pagini de manual de Linux 6.18 17 mai 2025 queue(7)