Jagged array: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Pil56-bot (discussione | contributi)
m smistamento lavoro sporco e fix vari
FrescoBot (discussione | contributi)
m Bot: numeri di pagina nei template citazione
 
(9 versioni intermedie di 8 utenti non mostrate)
Riga 1:
{{U|Array|informatica|maggio 2023|verso=a}}[[File:Jagged Array Representation.png|thumbnail|right|Layout di memoria di uno jagged array]]
In [[informatica]], uno '''jagged array''' (che in [[lingua inglese|inglese]] significa "array seghettato") o '''ragged array''' ("array stracciato"), talvolta chiamato in italiano anche '''matrice irregolare''',<ref>{{cita web|url=https://docs.microsoft.com/it-it/dotnet/csharp/programming-guide/arrays/jagged-arrays|titolo=Matrici irregolari}}</ref> è una [[struttura dati]] multidimensionale costituita da un [[array]] di array. È così chiamato perché i singoli array contenuti nell'array esterno possono essere di differente dimensione,<ref name="LibertyMacDonald2008">{{cita libro|autore1=Jesse Liberty|autore2=Brian MacDonald|titolo=Learning C# 3.0|url=http://books.google.com/books?id=CgLgh5vQcPgC&pg=PA210|data=18 novembre 2008|editore="O'Reilly Media, Inc."|isbn=978-0-596-55420-0|ppp=210–210}}</ref> schematizzabili con righe di differente lunghezza.
 
Mentre gli array multidimensionali in stile [[C (linguaggio)|C]] sono sempre rettangolari,<ref name="Box2002">{{cita libro|autore=Don Box|titolo=Essential .Net: The Common Language Runtime|url=http://books.google.com/books?id=Kl1DVZ8wTqcC&pg=PA138|anno=2002|editore=Addison-Wesley Professional|isbn=978-0-201-73411-9|ppp=138}}</ref> in numerosi altri linguaggi gli array multidimensionali sono implementati tramite jagged array, ad esempio in [[Java (linguaggio di programmazione)|Java]], [[Python]] (liste multidimensionali), [[Ruby (linguaggio di programmazione)|Ruby]], [[Visual Basic]], [[Perl]], [[PHP]], [[JavascriptJavaScript]], [[Swift (linguaggio di programmazione)|Swift]].
 
== Esempi ==
In [[C_sharp|C#]]<ref name="DeitelDeitel2008">{{cita libro|autore1=Paul J. Deitel|autore2=Harvey M. Deitel|titolo=C# 2008 for Programmers|url=http://books.google.com/books?id=sYzx_mZy0twC&pg=PA40|data=26 settembre 2008|editore=Pearson Education|isbn=978-0-13-701188-9|ppp=40}}</ref> o in [[Java (linguaggio di programmazione)|Java]]<ref>{{cita libro|titolo=Java for Artists|url=https://archive.org/details/javaforartistsar00rick|autore=Rick Miller|autore2=Raffi Kasparian|editore=Pulp Free Press|anno=2006|pp=[https://archive.org/details/javaforartistsar00rick/page/n746 194]-196|ISBN=978-1-9325-0405-7}}</ref> uno jagged array di interi che abbia due righe, la prima di cinque elementi e la seconda di tre, può essere creato con il seguente codice:
<syntaxhighlight lang=CSharp>
int[][] c; // dichiara un array bidimensionale di interi (array di array di int)