Ступенчатые массивы

В ступенчатых массивах количество элементов в разных строках может различать­ся. В памяти ступенчатый массив хранится иначе, чем прямоугольный: в виде нескольких внутренних массивов, каждый из которых имеет свой размер. Кроме

того, выделяется отдельная область памяти для хранения ссылок на каждый из внутренних массивов. Организацию ступенчатого массива иллюстрирует рис. 6.5.

массив Ссылки

на строки

0 1

Рис. 6.5. Ступенчатый массив

Описание ступенчатого массива: тип[][] имя;

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

int[][] a = new int[3][]; // выделение памяти под ссылки на три строки

а[0] = new int[5]; // выделение памяти под 0-ю строку (5 элементов)

а[1] = new int[3]; // выделение памяти под 1-ю строку (3 элемента)

а[2] = new int[4]; // выделение памяти под 2-ю строку (4 элемента)

Здесь а[0], а[1] и а[2] — это отдельные массивы, к которым можно обращаться по имени (пример приведен в следующем разделе). Другой способ выделения памяти:

int[][] а = { new int[5], new int[3], new int[4] };

К элементу ступенчатого массива обращаются, указывая каждую размерность в своих квадратных скобках, например:

а[1][2] a[i][j] a[j][i]

В остальном использование ступенчатых массивов не отличается от использова­ния прямоугольных. Ступенчатые массивы удобно применять, например, для работы с треугольными матрицами большого объема.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: