Сортировка одномерного массива

Вид материалаДокументы
Подобный материал:
СОРТИРОВКА ОДНОМЕРНОГО МАССИВА
  1. Метод всплывающего пузырька

Dim M(1 To 12) As Integer


Private Sub Command1_Click()

Print "=================================="

Randomize

Print "Исходный массив:"

For i = 1 To 12

M(i) = CInt(Rnd * 40) – 20 'Создание в цикле элементов массива

Print M(i); " "; ' Печать в одну строку

Next i

Print

' начинаем сортировку массива по возрастанию

For k = 1 To 11 ' очередной проход массива для обработки пар чисел

For i = 1 To (12 – k) 'внутренний цикл – один "проход" массива или его части


Если в паре соседних чисел справа число меньшее, меняем местами числа пары. Обрабатываем так выбранные пары массива, после чего наибольшее число окажется самым правым за один проход массива ("пузырёк всплыл").
If M(i + 1) < M(i) Then

W = M(i)

M(i) = M(i + 1)

M(i + 1) = W

End If

Next i

Next k

For i = 1 To 12 ' выводим отсортированный массив:

Print M(i); " ";

Next i

Print : Print "=========================="

End Sub