asd
This commit is contained in:
@@ -67,3 +67,72 @@ Tömb
|
||||
Ezen adattagok beállítására továbbra is a konstruktor szintaxis használható.
|
||||
|
||||
Az osztályokat
|
||||
|
||||
Tömbök kezelését segítő metódusok
|
||||
|
||||
Length{ get;}
|
||||
|
||||
long Length{get;}
|
||||
Visszaadja az aktuális tömb elemeinek a számát hosszú egész típusban.
|
||||
Akkor jön jól, ha nagyon nagy méretű tömböket szeretnénk kezelni.
|
||||
|
||||
int Rank{get;}
|
||||
Visszaadja a tömb dimenzióinak a számát
|
||||
|
||||
Ezen tulajdonságokon kívül az Array osztály számos statikus metódust tartalmaz,
|
||||
amelyeket felhasználhatunk tömbök kezelésére.
|
||||
Ezek közül a leghasznosabbak és legfontosabbak:
|
||||
Array.Clear(Array array, int index,int length);
|
||||
|
||||
Array.Copy(Array sourceArray, Array destinationArray, int length);
|
||||
Array.Copy(Array sourceArray, Array destinationArray, long length);
|
||||
//harmadik paraméter a másolandó elemek száma
|
||||
|
||||
Array.Copy(Array sourceArray, int sourceIndex, Array destinationArray, int destinationIndex, int length);
|
||||
|
||||
int Array.IndexOf(Array array, object value);
|
||||
int Array.IndexOf(Array array, object value, int startIndex);
|
||||
|
||||
int Array.LastIndexOf(Array array, object value);
|
||||
int Array.LastIndexOf(Array array, object value, int startIndex);
|
||||
|
||||
Array.Reverse(Array array);
|
||||
Array.Reverse(Array array, int index, int length);
|
||||
// második elem a kezdőelem indexét adja meg, a harmadik az elemk számát adja meg
|
||||
|
||||
Array.Sort(Array array);
|
||||
//Akkor ha az IComperable<T> implem,entálva van
|
||||
|
||||
Array.Sort(Array keys, Array items);
|
||||
//Két tömb elemeinek a sorbarendezése, méghozzá úgy,hogy az első paraméterként megadott tömb kulcsokat tartalmaz,
|
||||
//amelyhez a második paraméterként megadott tömb értékek társulnak.
|
||||
|
||||
Adatstruktúra interfészek
|
||||
A kollekciókhoz kapcsolódó interfészek közül az egyik legfontosabb az IEnumerable<T> interfész.
|
||||
Ez teszi lehetővé, hpgy mindegyik kollekción implementáéciótól függetlenül végig tudjuk uteráléni egy foreach ciklussal.
|
||||
|
||||
Az absztrakció következő szintje az IReadOnlyCollection és a ICollection interfészek.
|
||||
Az ICollection<T> egy módosítható kollekciót ír le aminek at elemei törölhetőek és bővíthetőek.
|
||||
A IReadOnlyCollection<T> pedig egy olyat,amiből csak olvasni tudunk, de tudjuk az elemek számát.
|
||||
|
||||
Az olyan típusok esetén, mint a lista halmaz és ... meg van valósítva mind a kettő.
|
||||
|
||||
Láncolt lista
|
||||
A tömb adatszerkezet kiváló, ha előre tudjuk, hogy menni elemre van szükségünk.
|
||||
A bővítés csak úgy lehetséges,ha létrehozunk egy újabb tömböt, aminek a mérete a hozzáadandó elemek számával meg van növelve.
|
||||
Az új tömbbe átmásoljuk a meglévő elemeit, majd az új tömbhöz hozzáadjuk az új elemeket.
|
||||
Végezetül pedig töröljük az eredeti tömböt.
|
||||
|
||||
Az algoritmus leírásából kiolvasható, hogy et nem éppen ideális,mivel a sebességre igen negatív hatással van a másolás.
|
||||
Továbbá a másolás folyamán egy rövid időre duplázódik a programunk memóriahasználata.
|
||||
|
||||
Egy sokkal jobb megoldása lehet nagy mennyiségű előre nem ismert számú adat tárolására a láncolt lista szerkezet.
|
||||
|
||||
A láncolt lista egy eleme két részből épül fel. Egyrészt tartalmazza a tárolni kívánt adaott,
|
||||
vagy adatokat és tartalmaz egy olyan mutatót, ami a lista eg másik elemét mutatja.
|
||||
Ha a referencia a következő elemre nem létezik, akkor a lánc végén vagyunk.
|
||||
|
||||
A láncolt lista a dinamikus tömbhöz képest hátránya a közbülső elemnek elérhatőségéből ered.
|
||||
Míg egy tömb esetén ha tudjuk,hogy a k. elemet szeretnénk elérnim akkor a tömb indexelésével rögtön hozzáférhefünk ehhet az adathoz, addog a láncolt listában a lista elejéről indulva a mutatókon keresztül addig kell lépkedni, míg a k. elemhez nem értünk.
|
||||
A véletlenszerű lista elem megtalálása a lista hosszával arányos időt igényel.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user