Zubaté pole - Jagged array

v počítačová věda, a členité pole, také známý jako a zubaté pole, je pole polí, z nichž pole členů mohou mít různé velikosti a [1] vytvářející řady zubatých hran, když jsou vizualizovány jako výstup. Naproti tomu dvourozměrná pole jsou vždy obdélníková[2] takže zubatá pole by neměla být zaměňována vícerozměrná pole, ale první se často používá k emulaci druhého.
Pole polí v jazycích jako Java, PHP, Python (vícerozměrné seznamy), Ruby, C # .Net, Visual Basic.NET, Perl, JavaScript, Objective-C, Swift a Atlas Autocode jsou implementovány jako Iliffe vektory.
Příklady
v C# a Jáva[3] zubatá pole lze vytvořit pomocí následujícího kódu:[4]
int[][]C;C = Nový int[2][]; // vytvoří 2 řádkyC[0] = Nový int[5]; // 5 sloupců pro řádek 0C[1] = Nový int[3]; // vytvoří 3 sloupce pro řádek 1
v C a C ++, zubaté pole lze vytvořit pomocí následujícího kódu:
int jagged_row0[] = {0,1};int jagged_row1[] = {1,2,3};int *zubatý[] = { jagged_row0, jagged_row1 };
V C / C ++ lze zubatá pole vytvořit také s řadou ukazatelů:
int *zubatý[5];zubatý[0] = malloc(velikost(int) * 10);zubatý[1] = malloc(velikost(int) * 3);
v C ++ / CLI, zubaté pole lze vytvořit pomocí kódu:[5]
použitím jmenný prostor Systém;int hlavní(){ pole<pole<dvojnásobek> ^> ^ Název pole = gcnew pole <pole<dvojnásobek> ^> (4); // pole obsahuje 4 //elementy vrátit se 0;}
v Krajta, zubatá pole nejsou nativní, ale lze je použít seznam porozumění k vytvoření vícerozměrného seznamu, který podporuje jakoukoli dimenzionální matici:[6]
multi_list_3d = [[[] pro i v rozsah(3)] pro i v rozsah(3)]# Produkuje: [[[], [], []], [[], [], []], [[], [], []]]multi_list_5d = [[[] pro i v rozsah(5)] pro i v rozsah(5)]# Produkuje: [[[], [], [], [], []], [[], [], [], [], []], [[], [], [], [] , []], [[], [], [], [], []], [[], [], [], [], []]
Viz také
Reference
- ^ Jesse Liberty; Brian MacDonald (18. listopadu 2008). Učení C # 3.0. „O'Reilly Media, Inc.“. str. 210–. ISBN 978-0-596-55420-0.
- ^ Don Box (2002). Essential .Net: Společný jazykový modul runtime. Addison-Wesley Professional. p. 138. ISBN 978-0-201-73411-9.
- ^ „Jagged Array in Java - GeeksforGeeks“. GeeksforGeeks. 2016-02-03. Citováno 2018-08-13.
- ^ Paul J. Deitel; Harvey M. Deitel (26. září 2008). C # 2008 pro programátory. Pearson Education. p. 40. ISBN 978-0-13-701188-9.
- ^ „Jagged Arrays“. Funkce X. Citováno 26. listopadu 2014.
- ^ "Seznamy v Pythonu Demystified". Alvin.io. Citováno 31. ledna 2016.
![]() | Tento počítačová věda článek je a pahýl. Wikipedii můžete pomoci pomocí rozšiřovat to. |