For faster navigation, this Iframe is preloading the Wikiwand page for Pole (datová struktura).

Pole (datová struktura)

Prázdné jednorozměrné pole o 10 prvcích (zde indexováno od nuly, některé jazyky indexují od jedničky)

Pojmem pole (také vektor) se v informatice označuje datová struktura, která sdružuje daný vždy konečný počet prvků (čísel, textových řetězců, …) stejného datového typu. K jednotlivým prvkům pole se přistupuje pomocí jejich indexu (celého čísla, označujícího pořadí prvku v rámci pole). Velikost pole zůstává při běhu programu neměnná (některé programovací jazyky toto omezení nekladou, zvětšení pole je ale časově náročná operace).

Ve většině programovacích jazyků je pole vestavěným datovým typem (viz též abstraktní datový typ).

Operace s polem

[editovat | editovat zdroj]

Indexování prvků

[editovat | editovat zdroj]

Různé programovací jazyky se (mimo jiné) liší v tom, jakým indexem označují první prvek pole:

  • C, C++, C#, Java a další indexují od nuly (a index vynásobený velikostí prvku v bytech vyjadřuje posunutí příslušného prvku v paměti od počátku pole).
  • BASIC a další indexují od jedničky, což odpovídá matematickému značení a přirozenému počítání.
  • Visual Basic, Pascal a další umožňují nastavit horní a dolní meze pole individuálně.

Syntax pro zápis indexů

[editovat | editovat zdroj]

Kromě způsobu indexování prvků se jazyky liší také syntaxí zápisu indexů. Řada programovacích jazyků pro indexy používá kulaté závorky, např. Tabulka(i,j). Další jazyky (např. Algol, Pascal a jazyky z nich odvozené), používají hranaté závorky, např. Tabulka[i,j]. Důvodem je i syntakticky na první pohled odlišit přístup k prvkům pole od jiných programových konstrukcí, kde se používají kulaté závorky. Z ukázek je rovněž zřejmé, že indexem pole může být (a zpravidla bývá) proměnná, tj. konkrétní hodnota indexu je spočtena až za běhu programu. Pochopitelně lze jako index použít také konstantu, např. Tabulka(2,3), resp. Tabulka[2,3]. Typické je ale právě použití proměnných v kombinaci s příkazem cyklus for (případně jinými řídícími strukturami pro cyklus).

Pole jsou jedním z nejzákladnějších datových typů, mají tedy široké použití nejen samy o sobě, ale také jako součást komplexnějších struktur, jako jsou haldy, hašovací tabulky či řetězce.

Vícerozměrná pole

[editovat | editovat zdroj]

V praktických úlohách, zejména v náročnějších výpočetních a grafických aplikacích, se uplatňují i vícerozměrná pole. Ta se indexují uspořádanou k-ticí celých čísel (souřadnic) – např. a[3, 2, 5]. Obzvláště často se používají dvourozměrná pole (matice), jen zřídka se v praxi používá počet rozměrů větší než tři.

Některé jazyky vícerozměrná pole nepodporují přímo, ale reprezentují je pomocí pole polí, např. dvourozměrná matice se vyjádří jednorozměrným polem řádků, z nichž každý obsahuje pole, které obsahuje již položky tohoto řádku (výše zmíněný příklad prvku trojrozměrné matice pak je a[3][2][5]).

Související články

[editovat | editovat zdroj]

Externí odkazy

[editovat | editovat zdroj]
Pahýl Tento článek je příliš stručný nebo postrádá důležité informace.Pomozte Wikipedii tím, že jej vhodně rozšíříte. Nevkládejte však bez oprávnění cizí texty.
{{bottomLinkPreText}} {{bottomLinkText}}
Pole (datová struktura)
Listen to this article

This browser is not supported by Wikiwand :(
Wikiwand requires a browser with modern capabilities in order to provide you with the best reading experience.
Please download and use one of the following browsers:

This article was just edited, click to reload
This article has been deleted on Wikipedia (Why?)

Back to homepage

Please click Add in the dialog above
Please click Allow in the top-left corner,
then click Install Now in the dialog
Please click Open in the download dialog,
then click Install
Please click the "Downloads" icon in the Safari toolbar, open the first download in the list,
then click Install
{{::$root.activation.text}}

Install Wikiwand

Install on Chrome Install on Firefox
Don't forget to rate us

Tell your friends about Wikiwand!

Gmail Facebook Twitter Link

Enjoying Wikiwand?

Tell your friends and spread the love:
Share on Gmail Share on Facebook Share on Twitter Share on Buffer

Our magic isn't perfect

You can help our automatic cover photo selection by reporting an unsuitable photo.

This photo is visually disturbing This photo is not a good choice

Thank you for helping!


Your input will affect cover photo selection, along with input from other users.

X

Get ready for Wikiwand 2.0 🎉! the new version arrives on September 1st! Don't want to wait?