[pso] probleme liste windows

Dragos Tatulea dragos.tatulea at gmail.com
Tue Apr 3 00:19:37 EEST 2007


Off off. Ok, multumesc mult pt raspuns. M-am chinuit putin cu listele de
windows din cauza asta.Voi tine minte data viitoare cand voi lucra cu liste.
Multumesc inca o data!

On 4/2/07, Razvan Hobeanu <mindphobia at yahoo.com> wrote:
>
> In Windows listele inlantuite (simplu sau dublu) sunt
> implementate ca liste cu santinele (ceea ce aduce un
> spor de performanta fata de modul traditional de
> implementare a listelor cu care probabil sunteti
> obisnuiti). Capul listei este intotdeauna un element
> fals (santinela), de care sunt legate toate celelalte
> elemente.
>
> Problema ta e ca primul parametru al lui
> ExInterlockedPopEntryList este un capat de lista.
> Astfel, la apelul tau se elimina primul element din
> lista al carui cap este considerat j. Prin urmare, se
> va scoate i din lista. In plus, campul Next al lui i
> se face NULL si astfel ti se opreste tie for-ul.
>
> Pentru listele simplu inlantuite exista rutine de
> scoatere a unui element din lista numai de la capul
> listei, din motive evidente, deci
> ExInterlockedPopEntryList nu te poate ajuta aici. Daca
> vrei sa scoti elementul din lista, va trebui sa o faci
> manual in modul traditional, tinand o referinta la
> elementul anterior si modificand campul Next al
> acestuia sa arate catre elementul indicat de campul
> Next al obiectului pe care vrei sa-l stergi.
>
> Alternativ, poti folosi o lista dublu-inlantuita
> (adica LIST_ENTRY in loc de SINGLE_LIST_ENTRY) si
> RemoveEntryList.
>
> Numai bine,
> Razvan
>
>
>
>
> ____________________________________________________________________________________
> The fish are biting.
> Get more visitors on your site using Yahoo! Search Marketing.
> http://searchmarketing.yahoo.com/arp/sponsoredsearch_v2.php
> _______________________________________________
> pso mailing list
> pso at cursuri.cs.pub.ro
> http://cursuri.cs.pub.ro/cgi-bin/mailman/listinfo/pso
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://cursuri.cs.pub.ro/pipermail/pso/attachments/20070403/e46d3e07/attachment.html


More information about the pso mailing list