Kontejner (abstraktní datový typ) - Container (abstract data type)

v počítačová věda, a kontejner je třída, a datová struktura,[1][2] nebo abstraktní datový typ (ADT), jehož instance jsou kolekcemi jiných objektů. Jinými slovy, ukládají objekty organizovaným způsobem, který dodržuje konkrétní pravidla přístupu. Velikost kontejneru závisí na počtu objektů (prvků), které obsahuje. Základní (zděděné) implementace různých typů kontejnerů se mohou lišit velikostí a složitostí a poskytují flexibilitu při výběru správné implementace pro daný scénář.

Funkce a vlastnosti

Kontejnery lze charakterizovat následujícími třemi vlastnostmi:

  • přístup, to je způsob přístupu k objektům kontejneru. V případě polí se přístup provádí pomocí indexu pole. V případě komínů se přístup provádí podle LIFO (poslední dovnitř, první ven) pořadí a v případě front se provádí podle FIFO (první dovnitř, první ven) pořadí;
  • úložný prostor, to je způsob ukládání předmětů kontejneru;
  • traverz, to je způsob procházení objekty kontejneru.

Očekává se, že třídy kontejnerů implementují metody k provádění následujících akcí:

  • vytvořit prázdný kontejner (konstruktor);
  • vložte předměty do kontejneru;
  • odstranit objekty z kontejneru;
  • odstranit všechny objekty v kontejneru (vymazat);
  • přistupovat k objektům v kontejneru;
  • přístup k počtu objektů v kontejneru (počet).

Kontejnery jsou někdy implementovány ve spojení s iterátory.

Typy

Kontejnery lze klasifikovat jako buď kontejnery s jednou hodnotou nebo asociativní kontejnery.

Kontejnery s jednou hodnotou ukládají každý objekt samostatně. K objektům lze přistupovat přímo nebo pomocí iterátor.

Asociativní kontejner používá asociativní pole, mapa nebo slovník složený z párů klíč – hodnota, takže se každý klíč v kontejneru zobrazí nejvýše jednou. Klíč se používá k vyhledání hodnoty, objektu, pokud je uložen v kontejneru. Asociativní kontejnery se používají v programovacích jazycích jako šablony tříd.

Mezi abstraktní datové typy kontejneru patří:

Mezi běžné datové struktury používané k implementaci těchto abstraktních typů patří:

Grafické kontejnery

Widgetové sady nástrojů používejte také speciální nádoby widgety seskupit další widgety, například Okna, panely. Kromě grafických vlastností mají stejný typ chování jako kontejnerové třídy, protože vedou seznam svých podřízených widgety a povolit přidávání, odebírání nebo načítání widgety mezi svými dětmi.

Viz také

Reference

  1. ^ Paul E. Black (ed.), Záznam pro datová struktura v Slovník algoritmů a datových struktur. NÁS Národní institut pro standardy a technologie. 15. prosince 2004. Zpřístupněno 4. října 2011.
  2. ^ Vstup datová struktura v Encyklopedie Britannica (2009) Online vstup Přístupné 4. října 2011.

externí odkazy