Private Sub Command1_Click(). Dim N As Byte, k, j, i As Byte, A(1 To 10) As Integer. Dim b As Integer. 'Введення й вивід вхідних даних
Private Sub Command1_Click() Dim N As Byte, k, j, i As Byte, A(1 To 10) As Integer Dim b As Integer 'Введення й вивід вхідних даних N = InputBox(" Введи розмірність масиву від 2 до 10" ) Label1 = " Розмірність масиву: " Text1 = N Label2 = " Mасив: А(" & N & " )" For i = 1 To N A(i) = InputBox(" Введи значення А(" & i & " )-го елемента" ) Picture1. Print A(i); " "; Next i 'Впорядкування вставкою For i = 2 To N 'порівняння завжди починається з першого b = A(i): j = 1 Do While b > A(j) 'визначається номер для вставки j = j + 1 Loop For k = i To j + 1 Step -1 'звільняємо місце для вставки A(k) = A(k - 1) Next k A(j) = b 'здійснюється вставка For l = 1 To N Picture2. Print A(l); " "; Next Picture2. Print Next i 'Всього проходів n-1. End Sub Private Sub Command2_Click() End End Sub
3. Запустити програму на виконання, отримати результати.
Результати роботи програми представлені на рис. 2. 5. Даний алгоритм багато часу витрачає на пошук правильної позиції для нового елементу. Працює повільніше, ніж впорядкування вибором. 2. 3. Сортування методом «Бульбашки» (метод «Пухирця»)
Сортування методом «Бульбашки» (метод «Пухирця») – це алгоритм, призначений для сортування списків, які вже перебувають у майже впорядкованому стані. Якщо ця умова виконана, то алгоритм виконується дуже швидко. При сортуванні методом «Бульбашки» список проглядається доти, поки не знайдуться два суміжних елементи, які розташовані не по порядку. Вони міняються місцями, і список продовжує досліджуватися далі. Після першого проходу на першому місці (по зростанню) виявиться самий маленький елемент.
Рис. 2. 5. Результати роботи програми Впорядкування вставкою
Наступний прохід буде здійснюватися до цього елемента, тобто сортується частина масиву, що залишилася. Алгоритм повторює цей процес, поки не впорядкує всі елементи. 1. Створити форму за зразком рис. 2. 6, надати всім об’єктам значення властивостей відповідно таблиці 7.
Рис. 2. 6. Приклад початкового розміщення об'єктів на формі
Таблиця 7. Значення властивостей об’єктів до форми рис. 2. 6.
2. Ввести програмний код: Option Base 1 Private Sub Command1_Click() Dim a As Variant Dim N As Byte, l, j, i As Byte Dim p As Integer a = Array(15, 2, 68, 78, 94, 21, 3, 1) Label1 = " Розмірність масиву: " N = 8 Text1 = N Label2 = " Mасив: А(" & N & " )" For l = 1 To N Picture1. Print a(l); " "; Next 'Впорядкування Бульбашкою For i = 1 To N - 1 ' Цикл по кількості проходів For j = N To i + 1 Step -1 ' Цикл порівняння елементів в If a(j - 1) > a(j) Then ' тій частині, що залишилася p = a(j - 1) ' і переміщення вгору a(j - 1) = a(j) ' " легких" елементів a(j) = p End If 'Вивід на екран даних масиву а після кожної перестановки For l = 1 To N Picture2. Print a(l); " "; Next Picture2. Print Next
Picture2. Print " ----------------" Next i End Sub Private Sub Command2_Click() End End Sub
3. Запустити програму на виконання, отримати результати.
Рис. 2. 7. Результати роботи програми Сортування методом Бульбашки 2. 4. Сортування методом Шелла
Суть сортування: 1. N елементів масиву розбивається на K груп, причому в групі не більше 2 елементів, елементи розташовуються на відстані D один від одного. D - крок групи. 2. Виконується сортування в групах. 3. Крок групи D зменшується вдвічі. 4. Повторюються пункти 2 - 3 доти, поки крок не стане менше 15 2 68 78 94 21 3 4
Початкове значення кроку D можна задати, як ступінь числа 2, таким чином, що D ≥ N/2. При більших значеннях N час сортування методом Шелла значно менше, ніж у методі «Бульбашки». 1. Створити форму за зразком рис. 2. 8., надати всім об’єктам значення властивостей відповідно таблиці 8.
Рис. 2. 8. Приклад початкового розміщення об'єктів на формі
Таблиця 8. Значення властивостей об’єктів до форми рисунку 2. 8.
2. Ввести програмний код:
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|