Jump to content

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

Расположение памяти зубчатого массива.

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

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

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

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  []   =   {   jagged_row0  ,   jagged_row1   }; 

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

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

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

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

В Фортране зубчатый массив может быть создан с использованием производных типов с выделяемыми компонентами:

type   ::   Jagged_type      целое число  ,   выделяемое   ::   row  (:)  end type  Jagged_type  type  (  Jagged_type  )   ::   Jagged  (  3  )  Jagged  (  1  )%  row   =   [  1  ]  Jagged  (  2  )%  row   =   [  1  ,  2  ]  Jagged  (  3  )%  строка   =   [  1  ,  2  ,  3  ] 

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

multi_list_3d   =   [[[]   for   i   in   range  (  3  )]   for   i   in   range  (  3  )]  # Производит: [[[], [], []], [[], [], []], [[ ], [], []]]  multi_list_5d   =   [[[]   for   i   in   range  (  5  )]   for   i   in   range  (  5  )]  # Производит: [[[], [], [], [], [] ], [[], [], [], [], []], [[], [], [], [], []], [[], [], [], [], [ ]], [[], [], [], [], []]] 

См. также

[ редактировать ]
  1. ^ Кинг, К.Н. Программирование на языке C. WW Нортон. п. 301. ИСБН  978-0-393-97950-3 .
  2. ^ Справочник по структурам данных и приложениям . ЦРК Пресс. 2004.
  3. ^ Джесси Либерти; Брайан Макдональд (18 ноября 2008 г.). Изучение С# 3.0 . «О'Рейли Медиа, Инк.». стр. 210–. ISBN  978-0-596-55420-0 .
  4. ^ Дон Бокс (2002). Essential .Net: общеязыковая среда выполнения . Аддисон-Уэсли Профессионал. п. 138. ИСБН  978-0-201-73411-9 .
  5. ^ «Неровный массив в Java — GeeksforGeeks» . Гики для Гиков . 03 февраля 2016 г. Проверено 13 августа 2018 г.
  6. ^ Пол Дж. Дейтел; Харви М. Дейтел (26 сентября 2008 г.). C# 2008 для программистов . Пирсон Образование. п. 40. ИСБН  978-0-13-701188-9 .
  7. ^ «Неровные массивы» . ФункцияX . Проверено 26 ноября 2014 г.
  8. ^ «Списки в Python раскрыты» . Элвин.io . Проверено 31 января 2016 г.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 658e61ad4a588152658a2cd1221c3a55__1703612340
URL1:https://arc.ask3.ru/arc/aa/65/55/658e61ad4a588152658a2cd1221c3a55.html
Заголовок, (Title) документа по адресу, URL1:
Jagged array - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)