Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску
Структура памяти зубчатого массива.

В информатике , А рваный массив , также известный как зазубренный массив , является массивом массивов из которых массивы элемент может быть различной длины, [1] , продуцирующие ряды зубчатых краев , когда визуализированы в качестве выходного сигнала. Напротив, двумерные массивы всегда имеют прямоугольную форму [2], поэтому зубчатые массивы не следует путать с многомерными массивами , но первые часто используются для имитации вторых.

Массивы массивов в таких языках, как Java, PHP, Python (многомерные списки), Ruby, C # .Net, Visual Basic.NET , Perl, JavaScript, Objective-C, Swift и Atlas Autocode реализованы как векторы Илиффа .

Примеры [ править ]

В C # и Java [3] зубчатые массивы можно создавать с помощью следующего кода: [4]

int [] [] c ; c  =  новый  int [ 2 ] [];  // создает 2 строки c [ 0 ]  =  new  int [ 5 ];  // 5 столбцов для строки 0 c [ 1 ]  =  new  int [ 3 ];  // создаем 3 столбца для строки 1

В C и C ++ зубчатый массив можно создать с помощью следующего кода:

int  jagged_row0 []  =  { 0 , 1 }; int  jagged_row1 []  =  { 1 , 2 , 3 }; INT  * неровный []  =  {  jagged_row0 ,  jagged_row1  };

В C / C ++ зубчатые массивы также могут быть созданы с помощью массива указателей:

int  * jagged [ 5 ];зубчатый [ 0 ]  =  malloc ( sizeof ( int )  *  10 ); зубчатый [ 1 ]  =  malloc ( sizeof ( int )  *  3 );

В C ++ / CLI зубчатый массив можно создать с помощью кода: [5]

using  пространство имен  System ; int  main () {  массив < array < double >  ^>  ^  Arrayname  =  gcnew  array  < array < double >  ^>  ( 4 );  // массив содержит 4  // элемента  return  0 ; }

В Python зубчатые массивы не являются нативными, но можно использовать понимание списков для создания многомерного списка, который поддерживает любую размерную матрицу: [6]

multi_list_3d  =  [[[]  для  i  в  диапазоне ( 3 )]  для  i  в  диапазоне ( 3 )] # Производит: [[[], [], []], [[], [], []], [[ ], [], []]]multi_list_5d  =  [[[]  для  i  в  диапазоне ( 5 )]  для  i  в  диапазоне ( 5 )] # Производит: [[[], [], [], [], []], [[], [], [], [], []], [[], [], [], [], []], [[], [], [], [], []] », [[], [] , [], [], []]]

См. Также [ править ]

Ссылки [ править ]

  1. ^ Джесси Либерти; Брайан Макдональд (18 ноября 2008 г.). Изучение C # 3.0 . "O'Reilly Media, Inc.". С. 210–. ISBN 978-0-596-55420-0.
  2. ^ Дон Бокс (2002). Essential .Net: среда CLR . Эддисон-Уэсли Профессионал. п. 138. ISBN 978-0-201-73411-9.
  3. ^ "Зубчатый массив в Java - GeeksforGeeks" . GeeksforGeeks . 2016-02-03 . Проверено 13 августа 2018 .
  4. ^ Пол Дж. Дейтель; Харви М. Дейтель (26 сентября 2008 г.). C # 2008 для программистов . Pearson Education. п. 40. ISBN 978-0-13-701188-9.
  5. ^ «Зубчатые массивы» . FunctionX . Проверено 26 ноября 2014 года .
  6. ^ "Списки в Python демистифицированы" . Alvin.io . Проверено 31 января 2016 года .