Kezdőoldal » Számítástechnika » Programozás » Láncolt listából, hogy lehet...

Láncolt listából, hogy lehet elemeket törölni?

Figyelt kérdés

Ebben a láncolt listában, hogy lehetne azt megoldani, hogy minden elemnek aminek a data értéke egyenlő hárommal azt törölje ki belőle?

Nyilván úgy is meglehetne oldani, hogy hozzá se adom a listához és a while ciklusba teszek egy if(number!=3) de engem az érdekelne, hogy-hogy lehetne már egy meglévő elemet törölni ebből a láncolt listából.

[link]



2018. márc. 14. 14:23
 1/3 anonim ***** válasza:
100%
Nyilván úgy, hogy az előtte lévő elem next mutatóját az utána lévő elemre állítod. Alapvető programozási fogás.
2018. márc. 14. 15:08
Hasznos számodra ez a válasz?
 2/3 anonim ***** válasza:
100%

a -> b -> c


b-re mutasson egy külön pointer, különben nem lehet majd felszabadítani a helyét. Az előző (a) címe is kelleni fog.

a.next = b.next; // vagyis a -> c

free(b);

2018. márc. 14. 15:24
Hasznos számodra ez a válasz?
 3/3 anonim ***** válasza:
100%
Bocsánat, kihagytam egy vizsgálatot, ha a törlendő elem az első. Ebben az esetben az "első elem" pointerbe kell írni a törlendő next értékét.
2018. márc. 14. 15:28
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!