Виды методов сортировки. Сортировка вставкой

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

Сортировка вставкой: массив разделяется на две части отсортированную и не отсортированную, элементы из не отсортированной части поочередно выбираются и вставляются в отсортированную часть так, что бы не нарушить в ней упорядоченность элементов. В начале работы алгоритма в качестве отсортированной части массива принимают только один 1 элемент, а в качестве не отсортированной части все остальные элементы. Таким образом, алгоритм будет состоять из m-1 прохода, где m — размерность массива.

Каждый проход будет включать 4 действия:

1)Взятие очередного i-го не отсортированного элемента и сохранение его в дополнительную переменную.

2)Поиск позиции j в отсортированной части, в которой присутствие взятого элемента не нарушит упорядоченности элемента.

3)Сдвиг элементов массива от i-1 до j-1 вправо, что бы освободить названную позицию в ставке.

4)Вставка взятого элемента в найденную позицию j.

Виды методов сортировки. Сортировка выбором

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

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

1)Находим в массиве элемент с минимальным значением на интервале от 1 до последнего и меняем его местами с первым элементом.

2)Ищем минимальный элемент на интервале от 2 до последнего и меняем его со 2 позицией.

Виды методов сортировки. Сортировка обменом

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

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

Слева на право поочередно сравниваются два соседних элемента и если из взаиморасположение не соответствует заданному условию упорядоченности, то они меняются местами. Берутся два следующих и так до конца массива. После первого прохода на последнем месте будет состоять максимальный элемент, поэтому 2 проход можно выполнять до m-1. Следующий проход выполняется до последнего элемента.

Методы функции

Методы (подпрограммы) процедуры и функции позволяют решать задачу повторного использования программного кода. Разработанные или имеющиеся подпрограммы дают возможность существенно расширить возможности языка программирования. Важным шагом в автоматизации программирования является появление библиотек подпрограмм. Подпрограммы C# включены в классы и называются методами класса. На платформе .Net стандартной библиотекой является FCL.

Отличие функции: 1) функция должна возвращать хотя бы одно значение, 2) функция может быть вызвана в выражениях.

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

return (выражение);

static int fmax(int a, int b)

{

if (a > b)

return (a);

else

return (b);

}

static int fmin(int a, int b)

{

return (a < b ? a : b);

}

Методы процедуры

Методы (подпрограммы) процедуры и функции позволяют решать задачу повторного использования программного кода. Разработанные или имеющиеся подпрограммы дают возможность существенно расширить возможности языка программирования. Важным шагом в автоматизации программирования является появление библиотек подпрограмм. Подпрограммы C# включены в классы и называются методами класса. На платформе .Net стандартной библиотекой является FCL.

Отличие процедуры: 1) может не возвращать значения, 2) вызывается как отдельный оператор.

static void test()

{

Console.WriteLine("Test\n");

}

static int fmax(int a, int b)

{

if (a > b)

return (a);

else

return (b);

}

static void pow_matr(int st, params int[] m)

{

foreach (int i in m)

Console.Write("\t" + Math.Pow(Convert.ToDouble(i), Convert.ToDouble(st)));

}

Наши рекомендации