Хелпикс

Главная

Контакты

Случайная статья





Массив массивов. Зубчатый массив nums. Основные понятия массивов



Массив массивов

От многомерных массивов надо отличать массив массивов или так называемый "зубчатый массив":

int[][] nums = new int[3][]; nums[0] = new int[2] { 1, 2 }; // выделяем память для первого подмассива nums[1] = new int[3] { 1, 2, 3 }; // выделяем память для второго подмассива nums[2] = new int[5] { 1, 2, 3, 4, 5 }; // выделяем память для третьего подмассива

Здесь две группы квадратных скобок указывают, что это массив массивов, то есть такой массив, который в свою очередь содержит в себе другие массивы. Причем длина массива указывается только в первых квадратных скобках, все последующие квадратные скобки должны быть пусты: new int[3][]. В данном случае у нас массив nums содержит три массива. Причем размерность каждого из этих массивов может не совпадать.

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

Примеры массивов:

 

Причем мы можем использовать в качестве массивов и многомерные:

int[][,] nums = new int[3][,] { new int[,] { {1,2}, {3,4} }, new int[,] { {1,2}, {3,6} }, new int[,] { {1,2}, {3,5}, {8, 13} } };

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

Используя вложенные циклы, можно перебирать зубчатые массивы. Например:

int[][] numbers = new int[3][]; numbers[0] = new int[] { 1, 2 }; numbers[1] = new int[] { 1, 2, 3 }; numbers[2] = new int[] { 1, 2, 3, 4, 5 }; foreach(int[] row in numbers) { foreach(int number in row) { Console.Write($"{number} \t"); } Console.WriteLine(); }   // перебор с помощью цикла for for (int i = 0; i<numbers.Length;i++) { for (int j =0; j<numbers[i].Length; j++) { Console.Write($"{numbers[i][j]} \t"); } Console.WriteLine(); }

Основные понятия массивов

Суммирую основные понятия массивов:

  • Ранг (rank): количество измерений массива
  • Длина измерения (dimension length): длина отдельного измерения массива
  • Длина массива (array length): количество всех элементов массива

Например, возьмем массив

int[,] numbers = new int[3, 4];

Массив numbers двухмерный, то есть он имеет два измерения, поэому его ранг равен 2. Длина первого измерения - 3, длина второго измерения - 4. Длина массива (то есть общее количество элементов) - 12.



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.