IT rekvalifikácia. Seniorní programátori zarábajú až 6 000 €/mesiac a rekvalifikácia je prvým krokom. Zisti, ako na to!

Diskusia – 3. diel - Spojový zoznam v C#

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Avatar
stacox
Člen
Avatar
stacox:18.2.2013 16:32

Sice se jedná o triviálnost, ale mám za to, že máš popisky metod LinkedList prohozený :)
-
AddAfter - Přidá prvek před daný prvek.
AddBefore - Přidá prvek za daný prvek.

 
Odpovedať
18.2.2013 16:32
Avatar
David Hartinger
Vlastník
Avatar
Odpovedá na stacox
David Hartinger:18.2.2013 17:27

Díky, opraveno :)

Odpovedať
18.2.2013 17:27
New kid back on the block with a R.I.P
Avatar
pracansky
Člen
Avatar
pracansky:11.4.2015 23:00

Z popisu toho listu jsem pochopil že při každém překročení hranice 12 prvků se všechna data kopírují. A při mazání dokonce pokaždé. To je asi při větších velikostech problém.

Naproti tomu vázaný seznam je sice možné snadno rozšiřovat i zkracovat, ale není možné jej rychle indexovat.

Existuje nějaké alternativa která která má výhody obou (rychlé změny i indexový přístup) i za cenu většího plýtvání pamětí?

 
Odpovedať
11.4.2015 23:00
Avatar
Patrik Bak
Člen
Avatar
Patrik Bak:7.10.2015 0:27

Kde v praxi má toto význam použiť ?

 
Odpovedať
7.10.2015 0:27
Avatar
Ondra Toman
Člen
Avatar
Ondra Toman:6.1.2020 0:09

Chápu teda správně, že LinkedListNode je jakýsi přístupový bod do určitého místa v seznamu?
pokud budu mít takovýto seznam:

2 - první
7
5 - node
3 - posledí

můžu k 7 přistoupit jako "prvek před node"?

 
Odpovedať
6.1.2020 0:09
Avatar
Nositelka Změny:27.1.2020 13:24

Chápu správně, že List<> (popř. ArrayList) ve skutečnosti není žádný seznam, ale úplně obyčejné dynamické pole (něco jako vector v C++)?

Odpovedať
27.1.2020 13:24
j.k.j
Avatar
Odpovedá na Nositelka Změny
Petr Štechmüller:27.1.2020 14:08

Ahoj, ano, reálná implementace List, nebo ArrayList je ve skutečnosti dynamické pole.
Doporučuji se podívat přímo na zdrojáky jak Listu, tak ArrayListu ;-)

Z nich poznáš, co se tam přesně děje :)

Odpovedať
27.1.2020 14:08
Pokud spolu kód a komentář nekorespondují, budou patrně oba chybné
Avatar
David
Člen
Avatar
David:10.5.2020 21:30

Díky za článek. ;-)

 
Odpovedať
10.5.2020 21:30
Avatar
Vaclav Pieter:4.7.2022 12:37

Tento článek nic neobjasnil jen přinesl spoustu otázek. Například jak se pracuje s uzly "node". Musím je uchovávat v paměti? Co když vytvořím spojový seznam bez node a následně budu chtít přidat další záznam někam doprostřed kde node nemám?

 
Odpovedať
4.7.2022 12:37
Avatar
Odpovedá na Vaclav Pieter
Luděk Bartyzal:12.9.2022 13:06

Ahoj, pracuješ s tím jako s normálním Listem. Uzly si pamatovat nemusíš (pokud teda nemáš nějaký uzel, který se vyplatí si pamatovat). Když budeš chtít přidat další záznam do již vytvořeného spojového seznamu na určité místo, tak si nejdříve vyhledáš to místo, kam dotyčný záznam chceš vložit a pak ho přidáš pomocí AddAfter() (případně AddBefore()) ;-)

 
Odpovedať
12.9.2022 13:06
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zatiaľ nikto nevložil komentár - buď prvý!