Využij akce až 80% zdarma při nákupu e-learningu. Více informací .
BF summer

Diskuze: Hashovací tabulka - prosím o radu

Aktivity (5)
Avatar
fejjaaas
Člen
Avatar
fejjaaas:3.5.2013 15:18

Dobrý den, potřeboval bych poradit ohledně jedné části práce, jejíž zbytek mám už naprogramovaný. Mám libovolné pole intů, a všechny hodnoty tohoto pole mám vložit do hashovací tabulky a nevím, jak se to vlastně vůbec dělá :-(. Navíc musí jít do této tabulky přidat či odebrat jakýkoliv prvek. Prý si má hashovací tabulka umět sama umístit danou hodnotu do sebe, aniž bych musel psát klíč dané hodnoty.
Budu vám zavázán za návrh řešení, předem díky moc ;-)

 
Odpovědět
3.5.2013 15:18
Avatar
Luboš Běhounek Satik
Autoredaktor
Avatar
Nahoru Odpovědět
3.5.2013 15:22
https://www.facebook.com/peasantsandcastles/
Avatar
fejjaaas
Člen
Avatar
Odpovídá na Luboš Běhounek Satik
fejjaaas:4.5.2013 22:56

Mohu použít cokoliv, během neděle na tom chci dělat, byl bych rád za jakoukoliv radu. Především jde o algoritmus pro přidávání a mazání položek v hashovací tabulce (Podle jaké funkce se to má provádět).

 
Nahoru Odpovědět
4.5.2013 22:56
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar

Člen
Avatar
:5.5.2013 6:30

Podle mě je lepší použít generický Dictionary (http://msdn.microsoft.com/…fhwa508.aspx). Příklad:

var hashtable = new Dictionary<string, int>(5); //Nová hashovací tabulka s kapacitou 5, lze přidávat i za kapacitou, ona se sama rozroste
//přidáme několik prvků
hashtable.Add("hodnota1", 300);
hashtable.Add("hodnota2", 1000000);
hashtable.Add("hodnota3", 120);
//...
//a ted odebereme
hashtable.Remove("hodnota3");
//a vypiseme hodnotu1 na konzoli
Console.WriteLine(hashtable["hodnota1"]);

ale přidávání bez klíče mi připadá jako blbost, jak by ses k té hodnotě měl dostat?

Editováno 5.5.2013 6:31
 
Nahoru Odpovědět
5.5.2013 6:30
Avatar
fejjaaas
Člen
Avatar
Odpovídá na
fejjaaas:5.5.2013 16:00

Údajně pomocí nějaké hashovací funkce, tak nevím... Ale mrknu na Tvůj způsob. Jsem rád za jakoukoliv radu. Snad to dám nějak dohromady. Díky :-)

 
Nahoru Odpovědět
5.5.2013 16:00
Avatar

Člen
Avatar
Odpovídá na fejjaaas
:5.5.2013 17:13

Co si vzpominam ze jsem cetl o hashovacich tabulkach, tak by to tam nekam narvat slo, ale zajimalo by me jak z toho tu hodnotu vymlatit?
Mozna tak ze to prolezes foreachem ;) .

 
Nahoru Odpovědět
5.5.2013 17:13
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 6 zpráv z 6.