Зубчатый массив - Jagged array

Структура памяти зубчатого массива.

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

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

Примеры

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

int[][]c;c = новый int[2][]; // создает 2 строкиc[0] = новый int[5]; // 5 столбцов для строки 0c[1] = новый 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 *зазубренный[5];зазубренный[0] = маллок(размер(int) * 10);зазубренный[1] = маллок(размер(int) * 3);

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

с помощью пространство имен Система;int главный(){    множество<множество<двойной> ^> ^ Arrayname = gcnew множество <множество<двойной> ^> (4); // массив содержит 4     // элементы    возвращаться 0;}

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

multi_list_3d = [[[] за я в классифицировать(3)] за я в классифицировать(3)]# Производит: [[[], [], []], [[], [], []], [[], [], []]] "multi_list_5d = [[[] за я в классифицировать(5)] за я в классифицировать(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". Гики. 2016-02-03. Получено 2018-08-13.
  4. ^ Пол Дж. Дейтель; Харви М. Дейтель (26 сентября 2008 г.). C # 2008 для программистов. Pearson Education. п. 40. ISBN  978-0-13-701188-9.
  5. ^ "Неровные массивы". ФункцияX. Получено 26 ноября 2014.
  6. ^ "Списки на Python демистифицированы". Alvin.io. Получено 31 января 2016.