Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Yazyki_programmirovania.docx
Скачиваний:
23
Добавлен:
22.05.2015
Размер:
103.87 Кб
Скачать

Вопрос 31

Массивы. Одномерные массивы

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

Одномерный массив - это такой массив, для идентификации которого требуется указать значение только одного индекса.

Для объявления одномерного массива используется следующая форма записи:

тип[] имя_массива = new тип [размер];

Формат инициализации одномерного массива имеет следующий вид:

тип[] имя_массива = [val1, val2,…, valN];

Существует несколько вариантов описания массива:

тип[ ] имя;

тип[] имя = new тип [ размерность ];

тип[] имя = { список_инициализаторов };

тип[] имя = new тип [] { список_инициализаторов };

тип[] имя = new тип [ размерность ] { список_ииициализаторов };

Вопрос 32

Массивы. Прямоугольные массивы

Прямоугольный массив имеет более одного измерения. Многомерным называется такой массив, который характеризуется двумя или более измерениями, а доступ к отдельному элементу осуществляется посредством двух или более индексов.

Чаще всего в программах используются простейшие многомерные массивы - двумерные массивы. В двумерном массиве позиция любого элемента определяется двумя индексами. Если представить двумерный массив в виде таблицы данных, то один индекс означает строку, а второй - столбец. Чтобы объявить двумерный массив целочисленных значений размером A x B, достаточно записать следующее:

int[,]имя_массива = new int[A,B];

Чтобы получить доступ к элементу двумерного массива, необходимо указать оба индекса, разделив их запятой. Например, чтобы присвоить число Z элементу двумерного массива, позиция которого определяется координатами x и y, можно использовать следующую инструкцию:

имя_массива[x,y] = Z;

Варианты описания двумерного массива:

тип[,] имя;

тип[.] имя = new тип [ разм_1, разм_2 ];

тип[.] имя = { список_инициализаторов };

тип[,] имя = new тип [,] { список_инициализаторов };

тип[,] имя = new тип [ разм_1, разм_2 ] { список_инициализаторов };

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

Вопрос 33

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

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

Описание ступенчатого массива:

тип[ ] [ ] имя;

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

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

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

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

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

Другой способ выделения памяти:

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

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

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

В остальном использование ступенчатых массивов не отличается от использования прямоугольных.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]