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

Сортировка данных – это упорядочивание набора однотипных данных по возрастанию или убыванию. К методам сортировки относятся: простой выбор, простой обмен, простые вставки, метод Шелла.

В методе простого выбора выделяется наименьший (или наибольший) элемент массива и отделяется от остальных. Далее опять выделяется наименьший (или наибольший) из оставшихся и т. д. Например, расположить элементы последовательности А1, А2, …, АN в порядке убывания. Для этого найдем в массиве элемент с наибольшим значением и поменяем его местами с первым элементом. Далее те же действия выполним с остальными N–1 элементами массива, затем N–2 элементами и т.д., пока не останется один элемент – последний, наименьший. Для получения результата необходимо N–1 раз найти максимальное значение в массиве, длина которого будет уменьшаться с каждым шагом на 1.

Упражнение 4. Отсортируйте по убыванию массив из пяти целых чисел, методом простого выбора.

1. Откройте проект Mas3, созданный в упражнении 3. Для кнопки Command2 измените значение свойства Caption:вместозначения “Результат” введите “Сортировка”.

2. В разделе General кода формы, к объявленным переменным, добавьте следующие переменные: Dim j As Integer, x As Integer. Переменные i и j будут использоваться как счётчики цикла For…Next и индексы массива. В переменных pr и x будем запоминать индекс массива и наибольшее значение соответственно.

3. Процедуру Command1_Click(), для командной кнопки “Ввод массива”, оставьте без изменения

4. В процедуре Command2_Click() массив будет отсортирован и выведен на форму. Для командной кнопки “Сортировка”, удалите программный код и введите следующий:

Private Sub Command2_Click()

'-------- Сортировка массива --------

For i = 1 To 5

pr = i: x =Mas(i) ' запоминаем индекс и значение элемента массива

For j = i + 1 To 5

If Mas(j) > x Then

pr = j: x = Mas(j) ' запоминаем индекс массива и наибольшее значение

End If

Next j

Mas(pr) = Mas(i): Mas(i) = x ' меняем местами элементы массива

Next i

'-----------------------------------------------

'------------- Вывод массива -------------

For i = 1 To 5

Print " "; Mas(i)

Next i

'-----------------------------------------------

End Sub

5. Сохраните проект с именем Sort в своей папке.

6. Запустите проект на выполнение. После щелчка на командной кнопке “Ввод массива” введите пять целых чисел. После щелчка на командной кнопке “Сортировка” – массив будет отсортирован по убыванию и выведен на форму.

Контрольные вопросы:

1. Что такое массив? Как в программе объявить массив?

2. Как обратиться к элементу массива?

3. Как организовать ввод и вывод массива?

4. В чём заключается алгоритм сортировки методом простого выбора?

Задания:

1. Создайте целочисленный массив и

- отсортируйте его по возрастанию;

- определите количество положительных элементов массива;

- найдите минимальное значение массива;

- определите количество отрицательных элементов массива;

- определите сумму ненулевых элементов массива;

- определите сумму положительных элементов массива;

- найдите максимальное значение массива.

Полученный результат вывести на форму.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow