Алгоритм сортировки одномерного массива по возрастанию

Сортировка числовых одномерных массивов

End Sub

Next i

Next i

Dim x(1 To 10), max As Single, i As Integer

Примеры обработки одномерных массивов

Пример 16.1.

Задан одномерный массив Х=хi i=1,2,...,10. Составить программу определения максимального элемента.(см. глава 10, рис. 10.10).

Private Sub CommandButton1_Click()

For i = 1 To 10

x(i) = Val(InputBox(" Введите " & i & " Элемент массива "))

max = x(1)

For i = 2 To 10

If max < x(i) Then max = x(i)

MsgBox "max=" & max

Для сортировки обычно применяют модифицированный метод "пузырька". В нем попарно сравниваются элементы массива и по условию сортировки меняются или не меняются местами. Массив считается упорядоченным, если в процессе попарного сравнения не было ни одной перестановки элементов.

Пример 16.2.

Составить алгоритм и программу сортировки по возрастанию одномерного массива вещественных чисел методом пузырька.

Задан массив Х=хi , i=1,2,...,6.

Введем переменную р - признак перестановок элементов в массиве.

 
 


 

 

 

Программа сортировки одномерного массива по возрастанию

Dim x(1 To 6), a As Single

Dim i, p As Integer

For i = 1 To 6

x(i) = Val(InputBox(" Введите " & i & " элемент массива "))

Next i

1: p = 0

For i = 1 To 5

If x(i) > x(i + 1) Then a = x(i): x(i) = x(i + 1): x(i + 1) = a : p = 1

Next i

If p = 1 Then GoTo 1 ‘ Если были перестановки (р=1), то переход к метке 1

Debug.Print "Упорядоченный по возрастанию массив "

For i = 1 To 6

Debug.Print x(i)

Next i

16.3. Двумерный массив

Cостоит из строк и столбцов (см. глава 10, двумерные массивы). Математическая запись массива:

А= ( аi,j ), i=1,2,...,n ; j= 1,2,3,…,m

где A -имя массива;

aij - имя элемента массива в общем виде (индексная переменная);

i-индекс, указывающий на порядковый номер строки в массиве;

J - индекс, указывающий на порядковый номер столбца в массиве;

В VBА имя элемента массива в общем виде запишется так - a(i,j).

Синтаксис описания статических двумерных массивов:

dim Имя (размерность массива) [ AS тип массива ]

Пример описания: dim а( i to 2, j to 2) as single

где : а– имя массива; массив двумерный; длина - 4 элемента; тип- вещественный. По такому описанию будут выделены 4 ячейки с именами a(1,1); a(1,2); a(2,1); a(2,2);

Общая блок – схема обработки двумерного массива по строкам.