Приложение: sort_perectanov.rar
Занятие 35. Сортировка линейных массивов.
Много программ на обработку значений элементов одномерного массива будут работать значительно быстрее, если значения его элементов будут упорядочены по возрастанию или по убыванию. Это касается прежде всего задач поиска тех значений элементов массива, которые удовлетворяют определенным условиям.
Существует более десяти различных методов сортировки одномерного массива. Одни из них выполняются быстрее, другие - медленнее, одни - сложнее по своей логической структуре, другие - проще .
Задание 1 Сортировка массива. Метод - перестановка.
Рассмотрим один из методов сортировки одномерного массива - метод перестановки.
Интерфейс проекта
PS!!! Int(x) - наибольшее целое число, не превышающее х (int(1.5 ⇒ 1; -1.5⇒ - 2 )).
Задание 2. Метод сортировки одномерного массива - метод выбора.
Суть метода - на каждом шагу выбирается наименьший элемент среди еще неупорядоченной части массива, и его значение обменивается со значением элемента, первого среди еще неупорядоченной части массива.
Блок - схема проекта
Интерфейс проекта
Программный код проекта.
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim a(6) As Integer
Dim i, j, min, nmin, k As Integer
a(1) = 23 : a(2) = 15 : a(3) = 7 : a(4) = 2 : a(5) = 6 : a(6) = 4 'формирование массива
For i = 1 To 6
ListBox1.Items.Add(a(i)) ' вывод массива в текстовое поле
Next
For i = 1 To 5
min = a(i) : nmin = i
For j = i + 1 To 6
If a(j) < min Then min = a(j) : nmin = j 'поиск минимального среди еще неупорядоченной части массива
Next j
a(nmin) = a(i) : a(i) = min ' и его значение обменивается со значением элемента, первого среди еще неупорядоченной части массива.
For k = 1 To 6 ' отображение процесса перестановки элементов массива при сортировке Выбор.
ListBox2.Items.Add(a(k))
Next k
ListBox2.Items.Add("")
Next i
ListBox1.Items.Add("")
ListBox1.Items.Add("")
End Sub