Associative array - Biblioteka.sk

Upozornenie: Prezeranie týchto stránok je určené len pre návštevníkov nad 18 rokov!
Zásady ochrany osobných údajov.
Používaním tohto webu súhlasíte s uchovávaním cookies, ktoré slúžia na poskytovanie služieb, nastavenie reklám a analýzu návštevnosti. OK, súhlasím


Panta Rhei Doprava Zadarmo
...
...


A | B | C | D | E | F | G | H | CH | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9

Associative array
 ...

Asociativní pole (slangově hash podle nejčastější implementace, v některých jazycích slovník, dictionary, anglicky též map) je datová struktura složená z dvojic klíč-hodnota. Klíčem v asociativním poli bývá často textový řetězec, ale klíčem může být i číslo nebo naopak složená datová struktura. Normální pole lze považovat za speciální případ asociativního pole, u něhož klíče tvoří souvislý interval celých čísel. Některé programovací jazyky dovolují použít kombinaci sekvenčního indexování (jako u klasického pole) a asociativního indexování pole.

Význam asociativního pole spočívá v jednodušším zápisu programu, při kterém odpadají konstrukce pro vyhledávání prvku v poli.

Implementace

Protože klíč nelze přímo použít jako číslo nebo index prvku v poli, je zapotřebí prvek podle klíče vyhledat. Nejpoužívanější metodou je mechanismus zvaný hašovací funkce (anglicky též hash function). Některé implementace používají vyhledávací stromy.

Příklad

Jazyk Perl

%foo = (a=>"1", b=>"10", c=>"100");
print $foo{c}, $foo{b}, $foo{a};

vypíše 100101

Jazyk PHP

$foo = ;
echo $foo.$foo.$foo;

vypíše 100101

Jazyk JavaScript

foo = { a:"1", b:"10", c:"100" };
alert( foo+foo+foo );

vypíše 100101

Jazyk Python

foo = {"a":1, "b":2, 5:"b"}
print(foo, foo, foo)

vypíše 1 2 b

Jazyk C++ s knihovnou Qt

Pole je s určením typů (v příkladu je klíčem datový typ Qstring, hodnotou integer), v Qt je k dispozici i QMultiHash.

QHash<QString, int> hash;
hash = 1;
hash = 3;
hash = 7;
out<<hash<<hash<<hash;

vypíše: 137

Programovací jazyky

Známé programovací jazyky, které mají asociativní pole implementováno jako abstraktní datový typ:

Některé programovací jazyky, které nemají přímo implementovanou podporu asociativního pole, ale obsahují implementaci tohoto typu pomocí sady funkcí nebo metod třídy v knihovnách:

  • C++STL, třída map
  • C++knihovna Qt
  • Java – The Collections Framework, třídy implementující rozhraní Map (HashMap, TreeMap, …)

Související článkyeditovat | editovat zdroj

Zdroj:https://cs.wikipedia.org?pojem=Associative_array
Text je dostupný za podmienok Creative Commons Attribution/Share-Alike License 3.0 Unported; prípadne za ďalších podmienok. Podrobnejšie informácie nájdete na stránke Podmienky použitia.






Text je dostupný za podmienok Creative Commons Attribution/Share-Alike License 3.0 Unported; prípadne za ďalších podmienok.
Podrobnejšie informácie nájdete na stránke Podmienky použitia.

Your browser doesn’t support the object tag.

www.astronomia.sk | www.biologia.sk | www.botanika.sk | www.dejiny.sk | www.economy.sk | www.elektrotechnika.sk | www.estetika.sk | www.farmakologia.sk | www.filozofia.sk | Fyzika | www.futurologia.sk | www.genetika.sk | www.chemia.sk | www.lingvistika.sk | www.politologia.sk | www.psychologia.sk | www.sexuologia.sk | www.sociologia.sk | www.veda.sk I www.zoologia.sk