<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=Jagged_array</id>
	<title>Jagged array - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=Jagged_array"/>
	<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Jagged_array&amp;action=history"/>
	<updated>2026-10-24T15:41:05Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>http://debianws.lexgopc.com/wiki143/index.php?title=Jagged_array&amp;diff=1392110&amp;oldid=prev</id>
		<title>imported&gt;Citation bot: Altered date. | Use this bot. Report bugs. | Suggested by Dominic3203 | Category:Arrays | #UCB_Category 27/42</title>
		<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Jagged_array&amp;diff=1392110&amp;oldid=prev"/>
		<updated>2025-01-10T08:28:38Z</updated>

		<summary type="html">&lt;p&gt;Altered date. | &lt;a href=&quot;/wiki143/index.php?title=En:WP:UCB&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;En:WP:UCB (page does not exist)&quot;&gt;Use this bot&lt;/a&gt;. &lt;a href=&quot;/wiki143/index.php?title=En:WP:DBUG&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;En:WP:DBUG (page does not exist)&quot;&gt;Report bugs&lt;/a&gt;. | Suggested by Dominic3203 | &lt;a href=&quot;/wiki143/index.php?title=Category:Arrays&quot; title=&quot;Category:Arrays&quot;&gt;Category:Arrays&lt;/a&gt; | #UCB_Category 27/42&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Short description|Kind of multidimensional data structure}}&lt;br /&gt;
[[File:Jagged Array Representation.png|thumb|right|Memory layout of a jagged array.]]&lt;br /&gt;
In [[computer science]], a &amp;#039;&amp;#039;&amp;#039;jagged  array&amp;#039;&amp;#039;&amp;#039;, also known as a &amp;#039;&amp;#039;&amp;#039;ragged  array&amp;#039;&amp;#039;&amp;#039; &amp;lt;ref&amp;gt;{{cite book |last=King |first=K. N. |author-link= |date= 2008|title=C Programming |url= |location= |publisher=W. W. Norton |page=301 |isbn=978-0-393-97950-3}}&amp;lt;/ref&amp;gt; or &amp;#039;&amp;#039;&amp;#039;irregular array&amp;#039;&amp;#039;&amp;#039; &amp;lt;ref&amp;gt;{{Cite book |title=Handbook of Data Structures and Applications |publisher=CRC Press |year=2004}}&amp;lt;/ref&amp;gt; is an [[array data structure|array]] of arrays of which the member arrays can be of different lengths,&amp;lt;ref name=&amp;quot;LibertyMacDonald2008&amp;quot;&amp;gt;{{cite book|author1=Jesse Liberty|author2=Brian MacDonald|title=Learning C# 3.0|url=https://books.google.com/books?id=CgLgh5vQcPgC&amp;amp;pg=PA210|date=18 November 2008|publisher=&amp;quot;O&amp;#039;Reilly Media, Inc.&amp;quot;|isbn=978-0-596-55420-0|pages=210–}}&amp;lt;/ref&amp;gt; producing rows of jagged edges when visualized as output. In contrast, two-dimensional arrays are always rectangular&amp;lt;ref name=&amp;quot;Box2002&amp;quot;&amp;gt;{{cite book|author=Don Box|title=Essential .Net: The Common Language Runtime|url=https://books.google.com/books?id=Kl1DVZ8wTqcC&amp;amp;pg=PA138|year=2002|publisher=Addison-Wesley Professional|isbn=978-0-201-73411-9|pages=138}}&amp;lt;/ref&amp;gt; so jagged arrays should not be confused with [[Array data type|multidimensional arrays]], but the former is often used to emulate the latter.&lt;br /&gt;
&lt;br /&gt;
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 vector]]s.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
In [[C Sharp (programming language)|C#]] and [[Java (programming language)|Java]]&amp;lt;ref&amp;gt;{{Cite news|url=https://www.geeksforgeeks.org/jagged-array-in-java/|title=Jagged Array in Java - GeeksforGeeks|date=2016-02-03|work=GeeksforGeeks|access-date=2018-08-13|language=en-US}}&amp;lt;/ref&amp;gt; jagged arrays can be created with the following code:&amp;lt;ref name=&amp;quot;DeitelDeitel2008&amp;quot;&amp;gt;{{cite book|author1=Paul J. Deitel|author2=Harvey M. Deitel|title=C# 2008 for Programmers|url=https://books.google.com/books?id=sYzx_mZy0twC&amp;amp;pg=PA40|date=26 September 2008|publisher=Pearson Education|isbn=978-0-13-701188-9|pages=40}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
int[][] c;&lt;br /&gt;
c = new int[2][]; // creates 2 rows&lt;br /&gt;
c[0] = new int[5]; // 5 columns for row 0&lt;br /&gt;
c[1] = new int[3]; // create 3 columns for row 1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In [[C (programming language)|C]] and [[C++]], a jagged array can be created (on the stack) using the following code:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
int jagged_row0[] = {0,1};&lt;br /&gt;
int jagged_row1[] = {1,2,3};&lt;br /&gt;
int *jagged[] = { jagged_row0, jagged_row1 };&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In C/C++, jagged arrays can also be created (on the heap) with an array of pointers:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
int *jagged[5];&lt;br /&gt;
&lt;br /&gt;
jagged[0] = malloc(sizeof(int) * 10);&lt;br /&gt;
jagged[1] = malloc(sizeof(int) * 3);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In [[C++/CLI]], jagged array can be created with the code:&amp;lt;ref&amp;gt;{{cite web|title=Jagged Arrays|url=http://www.functionx.com/cppcli/arrays/jagged.htm|website=FunctionX|accessdate=26 November 2014}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
using namespace System;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    array&amp;lt;array&amp;lt;double&amp;gt; ^&amp;gt; ^ Arrayname = gcnew array &amp;lt;array&amp;lt;double&amp;gt; ^&amp;gt; (4); // array contains 4 &lt;br /&gt;
    //elements&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In [[Fortran]], a jagged array can be created using derived types with allocatable component(s): &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;fortran&amp;quot;&amp;gt;&lt;br /&gt;
type :: Jagged_type&lt;br /&gt;
    integer, allocatable :: row(:)&lt;br /&gt;
end type Jagged_type&lt;br /&gt;
type(Jagged_type) :: Jagged(3)&lt;br /&gt;
Jagged(1)%row = [1]&lt;br /&gt;
Jagged(2)%row = [1,2]&lt;br /&gt;
Jagged(3)%row = [1,2,3]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In [[Python (programming language)|Python]], jagged arrays are not native but one can use [[list comprehensions]] to create a multi-dimensional list which supports any dimensional matrix:&amp;lt;ref&amp;gt;{{cite web|title=Lists in Python Demystified|url=http://alvin.io/lists-in-python-demystified-part-2/|website=Alvin.io|accessdate=31 January 2016}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
multi_list_3d = [[[] for i in range(3)] for i in range(3)]&lt;br /&gt;
# Produces: [[[], [], []], [[], [], []], [[], [], []]]&lt;br /&gt;
&lt;br /&gt;
multi_list_5d = [[[] for i in range(5)] for i in range(5)]&lt;br /&gt;
# Produces: [[[], [], [], [], []], [[], [], [], [], []], [[], [], [], [], []], [[], [], [], [], []], [[], [], [], [], []]]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Variable-length array]]&lt;br /&gt;
* [[Iliffe vector]]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
{{reflist}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Arrays]]&lt;br /&gt;
[[Category:Articles with example Python (programming language) code]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Citation bot</name></author>
	</entry>
</feed>