Разделы презентаций


Массивы

Содержание

Массивы относятся к ссылочным типам, а следовательно, память им отводится в "куче". В языке C# имеются одномерные массивы и многомерные массивы. Кроме них, в языке C# также имеется новый тип массивов

Слайды и текст этой презентации

Слайд 1Массивы
Массивом называют упорядоченную совокупность элементов одного типа.
Каждый элемент массива

имеет один или несколько индексов, определяющих порядок элементов.
Количество индексов

характеризует размерность массива. Каждый индекс изменяется в диапазоне от нуля до некоторого числа N>0. Индексы задаются только целочисленным типом.

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

Слайд 2Массивы относятся к ссылочным типам, а следовательно, память им отводится

в "куче".
В языке C# имеются одномерные массивы и многомерные

массивы.
Кроме них, в языке C# также имеется новый тип массивов – ступенчатый.

Массивы относятся к ссылочным типам, а следовательно, память им отводится в

Слайд 3Одномерные массивы
Массивы соответствуют типу System.Array

Объявление массива

[ ] ;

тип элемента массива
[] признак того,

что объявляется массив
<имя_массива> идентификатор массива

Пример

int k; переменная k, представляющая целое число, значение не задано, переменная создаётся в стеке.
int[] m; массив m, состоящий из целых чисел, число и значения элементов не заданы, в стеке создаётся пустая ссылка.

double f; переменная f, представляющая вещественное число, значение не задано, переменная создаётся в стеке.
double[] x; массив X, состоящий из вещественных чисел, число и значения элементов не заданы, в стеке создаётся пустая ссылка.

Одномерные массивыМассивы соответствуют типу System.ArrayОбъявление массива      [ ]  ; 		тип элемента

Слайд 4
Создание массива имя_массива = new type[n];
имя_массива = new type[n] {x1, x2,

…, xn};

Если уже выполнено
int[] m;
double[] x;

то можно создать массив

в куче:

m=new int[5]; создаётся в куче набор из 5 пустых элементов целого типа m[0], m[1], m[2], m[3], m[4]

x=new double[10]; создаётся в куче набор из 10 пустых элементов. веществ. типа x[0], x[1], x[2], ..., x[9]

m=new int[5] {1, 2, 0, 5, -7};
создаётся в куче набор из 5 элементов целого типа равных указанным числам m[0]=1, ..., m[4]=-7


Создание массива	имя_массива = new type[n];			имя_массива = new type[n] {x1, x2, …, xn};	Если уже выполненоint[] m; double[] x;	то

Слайд 5Массив - Array
int [ ] a = new int [5];

// можно одним оператором
a[ ] =0; // нельзя использовать массив

без индекса
a[3] = 9;
a[0] = 1

1

3

7

9

11

10256

10260

10264

10268

10272

0

1

2

3

4




Массив - Arrayint [ ] a = new int [5]; // можно одним операторомa[ ] =0; //

Слайд 6Инициализация массивов
По умолчанию записывается нуль или null.
Для работы с массивом

необходимо заполнить его значения:
int[] a = new int [5] {1,2,3,4,5};
int[]

b = {5,7,9};

char[] s = new char [7] {'s','t','u','d','e','n','t'};
char[] s = {'s','t','u','d','e','n','t'};

Инициализация массивовПо умолчанию записывается нуль или null.Для работы с массивом необходимо заполнить его значения:	int[] a = new

Слайд 7Пример разных способов объявления массивов
//объявляется одномерный массив A
int[] A =

new int[5] {1,2,3,4,5};
//объявление массива x с явной инициализацией
int[] x ={5,5,6,6,7,7};
//объявление

массивов с отложенной инициализацией
int[] u,v;
u = new int[3];

Пример разных способов объявления массивов//объявляется одномерный массив Aint[] A = new int[5] {1,2,3,4,5};//объявление массива x с явной

Слайд 8Пример работы с массивами
int[] u,v;

u = new int[3];

for (int i=0;

i

присваивания v = u является правильным ссылочным присваиванием: хотя u и v имеют разное число элементов, но они являются объектами одного класса.
Теперь обе ссылки u и v будут теперь указывать на один и тот же массив, так что изменение элемента одного массива немедленно отразится на другом массиве.
На массив v теперь никто ссылаться не будет, и он будет считаться мусором, который автоматически удаляется с помощью сборщика мусора.

Пример работы с массивамиint[] u,v;u = new int[3];for (int i=0; i

Слайд 9Методы и свойства массивов
Свойства массива
Rank – количество размерностей
Length –

количество элементов массива (32 битное значение)

Статические методы класса System.Array
BinarySearch() –

индекс заданного элемента в сортированном массиве
IndexOf() – индекс заданного элемента в массиве
Clear() – обнуление группы элементов в массиве
Clone( ) – неполное копирование (если элементы массива ссылки, то копируются ссылки)
Copy() – копирует все (или часть) элементов одного массива в другой
Resize() – изменение длины массива
Reverse() – изменение порядка всех (или части) элементов на обратный
Sort() – сортировка элементов массива по возрастанию

Методы массива
CopyTo( ) – копирует часть элементов одного массива в другой
GetLength (n) – количество элементов в размерности n
Методы и свойства массивовСвойства массиваRank 		– количество размерностей Length 	– количество элементов массива (32 битное значение)Статические методы

Слайд 10Пример
int[] m = new int [5] { 1, 2,

3, 4, 5 };

Пример int[] m = new int [5] { 1, 2, 3, 4, 5 };

Слайд 11Использование цикла foreach с массивами
Традиционный способ обработки массивов:

Найти сумму элементов

массива

int[] ar = { 1, 2, 3, 4, 5 };
int

s=0;
for (int i = 0; i




Использование цикла foreach с массивамиТрадиционный способ обработки массивов:Найти сумму элементов массиваint[] ar = { 1, 2, 3,

Слайд 12Оператор foreach

foreach( in ) оператор

переменной должен соответствовать

типу элементов массива.
на каждом шаге переменная цикла получает значение

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

Слайд 13Пример использования foreach
Найти сумму элементов массива

int[] arr = new int[5]

{1,2,3,4,5}
int s =0;
foreach(int c in arr)
{
s += c;
}

Пример использования foreachНайти сумму элементов массиваint[] arr = new int[5] {1,2,3,4,5}int s =0;foreach(int c in arr){	 s

Слайд 14Примеры работы с одномерными массивами
Выполнить циклический сдвиг элементов влево на

один

int[] m = new int[5] { 1, 2, 3, 4,

5 };

int x = m[0];
for (int i = 0; i < m.Length-1; i++)
m[i]=m[i+1];
m[m.Length - 1] = x;


Примеры работы с одномерными массивамиВыполнить циклический сдвиг элементов влево на одинint[] m = new int[5] { 1,

Слайд 15Выполнить сортировку элементов массива.
(простейший алгоритм)

Выполнить сортировку элементов массива.		(простейший алгоритм)

Слайд 16Заменить каждый элемент массива суммой данного и предшествующих элементов
1 2

3 4 5 -> 1 3 6 10 15
int[] m

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

for (int i = 0; i < m.Length; i++) {
int s=0;
for (int j = 0; j <= i; j++) s+=m[j];
m[i]=s;
}

1 2 3 4 5 -> 1 3 7 15 31

for (int i = m.Length-1; i >= 0; i--)
{
int s=0;
for (int j = 0; j <= i; j++) s+=m[j];
m[i]=s;
}

1 2 3 4 5 -> 1 3 6 10 15

for (int i = 1; i < m.Length; i++)
m[i] += m[i-1];

1 2 3 4 5 -> 1 3 6 10 15

Заменить каждый элемент массива суммой данного и предшествующих элементов1 2 3 4 5 -> 1 3 6

Слайд 17Многомерные массивы. Двухмерные массивы (таблицы)
Многомерные массивы

характеризуются двумя или более измерениями, а доступ к каждому элементу

обеспечивается двумя или более индексами.
Простейшим многомерным массивом является двумерный массив.
Двумерные массивы создаются с помощью инструкций следующего типа:

тип [,] имя_массива = new тип [размер1,размер2];
Многомерные массивы.  Двухмерные массивы (таблицы)   Многомерные массивы характеризуются двумя или более измерениями, а доступ

Слайд 18Пример
int [,] a = new int [3,4];
a [1,2] = 4;

int

[,] a = {{1,0,1,0}, {2,3,4,5}, {0,3,0,3}};

1
1
2
4
0
0
0
0
3
3
3
5
3
2
1
0
0
1
2

1
0
1
0
2
3
4
5
0
3
3
0
10256

Примерint [,] a = new int [3,4];a [1,2] = 4;int [,] a = {{1,0,1,0}, {2,3,4,5}, {0,3,0,3}};112400003335321001210102345033010256

Слайд 19Пример создания двумерного массива
Пример объявления и инициализации двумерного массива:
int [,]

ms = new int [2,3] {{1,2,3},{4,5,6}};
Доступ к элементам массива :


int k = ms[1,2]; // получим значение 6
Пример: найти сумму всех элементов двухмерного массива:
int s = 0;
for (int i = 0; i < 2; i++)
for (int j = 0; j < 3; j++)
s += ms[i, j];
В результате выполнения этого кода s получит значение 21 – сумму всех элементов массива ms.

Пример создания двумерного массиваПример объявления и инициализации двумерного массива:	int [,] ms = new int [2,3] {{1,2,3},{4,5,6}};Доступ к

Слайд 20Выполнить умножение матрицы размером 3 х 3 на столбец из

трёх элементов


Выполнить умножение матрицы размером 3 х 3 на столбец из трёх элементов

Слайд 21

Выполнить умножение матрицы размером 3 х 3 на столбец из

трёх элементов

Выполнить умножение матрицы размером 3 х 3 на столбец из трёх элементов

Слайд 22Многомерные массивы - трехмерные
float [,,] m = new float

[3,4,3];
m [i,j,k] = 3;

0
1
2
0
1
2
3
0
1
2
i
j
k

Многомерные массивы - трехмерные float [,,] m = new float [3,4,3];m [i,j,k] = 3;0120123012ijk

Слайд 23Ступенчатые массивы
Массив массивов – количество элементов по каждому измерению непостоянно.
Например:
int[][]

d = new int[3][];

Для создания самих строк массива нужно создать

объекты соответствующих типов:
d[0] = new int[2] { 1, 2 };
d[1] = new int[6] { 3, 4, 5, 6 };
d[2] = new int[3] { 7, 8, 9 };

Схема данного ступенчатого массива:
Ступенчатые массивыМассив массивов – количество элементов по каждому измерению непостоянно.Например:	int[][] d = new int[3][];Для создания самих строк

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика