Kezdőoldal » Számítástechnika » Programozás » Hogyan tudok C-ben láncolt...

Hogyan tudok C-ben láncolt listát létrehozni?

Figyelt kérdés

#include <stdio.h>


typedef struct listelem {

int data; /* a tĂĄrolt adat */

struct listelem *next; /* kĂśv. elem cĂ­me */

} listelem;


int main(void)

{


listelem *p;

scanf_s("%d", p->data);

while (p->data != 0)

{

scanf_s("%d", p->data);

p = p->next;

}

return 0;

}


Ezzel próbálkoztam de nem működik. Nem tudom hogy vigyek be e egy head pointert ami a kezdő elemre mutat elindítva a "láncreakciót"


2014. nov. 17. 11:37
 1/5 anonim ***** válasza:
az 1. elemnek lefoglalsz memoriat malloc(sizeof(listelem)) merettel
2014. nov. 17. 11:45
Hasznos számodra ez a válasz?
 2/5 Tengor ***** válasza:
Minden elemnek helyet kell foglalni malloc-kel. Utána lehet őket az utolsó elemhez fűzni.
2014. nov. 17. 12:04
Hasznos számodra ez a válasz?
 3/5 anonim ***** válasza:

listelem* p = (listelem*) malloc(sizeof(listelem));


Így már működni fog, csak ne felejtsd el, hogy minden plusz elemnél foglalnod kell memóriát és kivételnél pedig törölnöd.


OFF:


A láncolt listák kifejezetten lassú adatszerkezetek, mivel nagyon sok cache miss-t generálnak. Tanulófeladatnak nagyon jók, de gyakorlatban érdemes kerülni őket.

Ökölszabály: Csak akkor használj láncolt listát, ha többször módosítod, mint ahányszor iterálod.

2014. nov. 17. 14:16
Hasznos számodra ez a válasz?
 4/5 anonim ***** válasza:

Én ezt már megírtam egyszer:

[link]

2014. nov. 17. 15:21
Hasznos számodra ez a válasz?
 5/5 A kérdező kommentje:
köszi
2014. nov. 17. 19:06

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!