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