Ha van egy két irányú láncolt listám és ha ennek az utolsó eleme nem egy 0 pointerre mutat hanem a fejelemre akkor ez a körkörösen láncolt lista?
Van egy példám úgy találtam a neten miközben próbálok rájönni a láncolt listák logikájára:
struct listNode
{
listNode* prev; //Ez a mutató ami az előző elemre mutat
listNode* next; //Ez pedig a következő elemre
int data;
listNode() //Ez micsoda egy függvény?Hol a visszatérési értéke és ez mit csinál?
{
next = prev = this;
}
listNode(const int& num) //És ez?
{
next = prev = this;
data = num;
}
};
Bár, most, hogy jobban megnézem, elég érdekesen van megoldva. Ezt úgy szoktuk volt csinálni, hogy egy tf. List osztályt készítesz, aminek az adattagjai Node-ok. A Node-ban összesen annyi van, hogy milyen típusú elemeket tárol.
A List osztály implementálja azt, hogy tárolja ezeket a Node*-okat. Továbbá itt veszel fel egy Node* head, Node* next, Node* prev adattagot.
A List konstruktora beállít minden pointert nullra default, majd Add és Remove metódusok megírásával tudsz beszúrni ill. kivenni.
És itt szoktak Listek közötti megfeleltetésre csinálni még copy konstruktort, értékadás operátort. Továbbá, még amit akarsz.
Tehát inkább keress egy másik példát, mert ez szerintem nagyon nem szép.
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!