Jagged array

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Memory layout of a jagged array.

In computer science, a jagged array, also known as a ragged array, is an array of arrays of which the member arrays can be of different sizes and [1] producing rows of jagged edges when visualized as output. In contrast, C-styled arrays are always rectangular.[2]

Arrays of arrays in languages such as Java, PHP, Python (multidimensional lists), Ruby, C#.Net, Visual Basic.NET, Perl, JavaScript, Objective-C, Swift, and Atlas Autocode are implemented as Iliffe vectors.

Examples[edit]

In C#, jagged arrays can be created with the following code:[3]

int[][]c;
c=new int[2][]; // creates 2 rows
c[0]=new int[5]; // 5 columns for row 0
c[1]=new int[3]; // create 3 columns for row 1

In C++/CLI, jagged array can be created with the code:[4]

using namespace System;
int main()
{
array<array<double> ^> ^ Arrayname = gcnew array <array<double> ^> (4);// array contains 4 
//elements
return 0;
}


In Python, jagged arrays are not native but one can use list comprehensions to create a multi-dimensional list which supports any dimensional matrix: [5]

multi_list_3d = [[[] for i in range(3)] for i in range(3)] # [[[], [], []], [[], [], []], [[], [], []]]
multi_list_5d = [[[] for i in range(5)] for i in range(5)] # [[[], [], [], [], []], [[], [], [], [], []], [[], [], [], [], []], [[], [], [], [], []], [[], [], [], [], []]]


See also[edit]

References[edit]

  1. ^ Jesse Liberty; Brian MacDonald (18 November 2008). Learning C# 3.0. "O'Reilly Media, Inc.". pp. 210–. ISBN 978-0-596-55420-0. 
  2. ^ Don Box (2002). Essential .Net: The Common Language Runtime. Addison-Wesley Professional. p. 138. ISBN 978-0-201-73411-9. 
  3. ^ Paul J. Deitel; Harvey M. Deitel (26 September 2008). C# 2008 for Programmers. Pearson Education. p. 40. ISBN 978-0-13-701188-9. 
  4. ^ "Jagged Arrays". FunctionX. Retrieved 26 November 2014. 
  5. ^ "Lists in Python Demystified". Alvin.io. Retrieved 31 January 2016.