C# láncolt lista: Hogyan tudok index alapján keresni láncolt listába?
A beépitett függvényeket nem használhatom. A Bejáró ciklust kell kiegészteni?
public void Bejaras(int index )
{
ListaElem<T> p = fej;
while (p != null)
{
p = p.Kovetkezo;
}
}
Végig kell iterálni az adott cikulsig. Lineáris diában tudod elérni az adott indexet, nem konstans időben, mint egy sima Arraynél.
Nem C# fejlesztő vagyok (Java), de igen, a bejárást tartalmazó függvényt kell kiegészíteni, hogy az megálljon az adott indexnél.
Tippre valami ilyen megoldja:
public void Bejaras(int index)
{
if (index < 0)
{
throw new IndexOutOfRangeException("Index cannot be negative.");
}
int currentIndex = 0;
ListaElem<T> p = fej;
while (p != null)
{
if (currentIndex == index)
{
Console.WriteLine(p.Data);
return;
}
p = p.Kovetkezo;
currentIndex++;
}
throw new IndexOutOfRangeException("Index out of range.");
}
#4
Igen. Meg lehet csinálni, mint ahogy kalapáccsal is lehet gödröt ásni, csak hát nem igazán lesz optimális a dolog...
Köszönöm a segítséget:)
A feladat ezt kérte...😅
Egy láncolt lista többek között azért láncolt lista, mert abban nem lehet kereső-algoritmusokat érvényesíteni.
A láncolt listában való keresés mindössze annyit tesz, hogy szépen végiglépdelsz az adatokon, amíg el nem jutsz a keresett elemig.
Ez lehet úgy a fej-elem, ahogy a láncolás szerinti legutolsó.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, 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!