Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы Программирование.docx
Скачиваний:
130
Добавлен:
19.09.2017
Размер:
360.74 Кб
Скачать

18. Одномерные массивы: Назначение, синтаксис объявления, форма графического представления

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

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

1)<тип>[] <имя>;

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

3)<тип>[] <имя> = new <тип>[<размерность>] {<список значений массива>};

4)<тип>[] <имя> = new <тип>[] {<список значений массива>};

5)<тип>[] <имя> = {<список значений массива>};

19.Двумерные массивы: Прямоугольные и ломаные. Назначение, синтаксис, формы графического представления

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

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

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

1)<тип>[,] <имя>;

2)<тип>[,] <имя> = new <тип>[<размер1>,<размер2>];

3)<тип>[,] <имя> = new <тип>[<размер1>,<размер2>] {<список значений массива>};

4)<тип>[,] <имя> = new <тип>[,] {<список значений массива>};

5)<тип>[,] <имя> = {<список значений массива>};

Зубчатые массивы:

1)<тип>[][] <имя>;

2)<тип>[][] <имя> = new <тип>[<количество строк>][]; // выделение памяти под столбец указателей на строки данных <имя>[<индекс строки>] = new <тип>[<количество столбцов>]; // выделение памяти под строку данных

3)<тип>[][] <имя> = {new int[<количество столбцов 1-й

строки>], new int[<количество столбцов 2-й строки>], ... new int[<количество столбцов n-строки>]} // выделение памяти под весь массив размерностью n-строк

20.Прямые методы сортировки. Принципы методов

Сортировка обменом(пузырьковая):

Слева направо поочередно сравниваются два соседних элемента, и если их взаиморасположение не соответствует заданному условию упорядоченности, то они меняются местами. Далее берутся два следующих соседних элемента и так далее до конца массива.

Сортировка выбором:

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

Сортировка вставками:

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

Быстрая сортировка:

В основе быстрой сортировки лежит принцип разбиения. Сначала выбирается опорный элемент х, относительно которого переупорядочиваются остальные элементы массива. Все элементы, меньшие x, переставляются перед x, а больше или равные x– после. В итоге массив оказывается, разбит на две части. Далее к первой и второй частям рекурсивно применяется описанный алгоритм до тех пор, пока в каждой части не останется по одному элементу. Желательно выбрать элемент x таким, чтобы количество элементов в первой и во второй части было примерно одинаковым.

21. Пользовательские методы класса: Метод-элемент класса или структуры, предназначенный для выполнения определенного алгоритма.

Если static, то метод статический, т.е. имеет постоянное место в памяти компьютера. Статич. метод доступен после инициализации класса, память под объект выделять не нужно.

Нестатич. метод доступен после инициализации объекта.

Если указан тип возвр. значения,то должен быть return,после к-рого указ-ся возвр. знач-е.

Синтаксис объявления: [<модификатор доступа>][static]<тип возвр. знач-я>/void <имя>([<формальные параметры>]) {

//Алгоритм метода

[return<возвр. знач-е>;]

}

Синтаксис вызова: <имя>([<список формальных пар-ов>]);

Метод, к-рый передает 2 целых числа, внутри метода перемножить, рез-т вернуть через имя static int Multiply(int x, int y)

{

return x*y; }

В Main: Multiply(2,3)//6

Формальные параметры: 1)входной-для передачи данных по значению <тип><имя пар-ра>(так в примере выше) 2)выходной параметр-для возврата рез-та в факт. Пар-ры (точку вызова) out<тип><имя пар-ра>

3)ссылочный-для изменения факт. пар-ра (при изменении формальн. пар-ра изменяется фактический)

ref<тип><имя пар-ра>

4)групповой-позволяет создавать набор пар-ров как единое целое, указ-ся всегдапоследним params<тип>[]<имя пар-ра>

При использовании модификаторов доступа out & ref модиф-ры указ-ся не только в формальн. пар-рах, но и для фактических