Сортировка вставками. Дана последовательность чисел а1, а2 - VB
Формулировка задачи:
Сортировка вставками. Дана последовательность чисел а1, а2,..., аn. Требуется переставить числа в порядке возрастания. Делается это следующим образом. Пусть а1, а2,..., аi — упорядоченная последовательность, т.е. а1 ≤ a2 ≤ ... ≤ аi. Берется следующее число ai+1 и вставляется в последовательность так, чтобы новая последовательность была тоже возрастающей. Процесс производится до тех пор, пока все элементы от i +1 до n не будут перебраны. Примечание. Место помещения очередного элемента в отсортированную часть производить с помощью двоичного поиска. Двоичный поиск оформить в виде отдельной функции. Заранее благодарен всем за предоставленную помощь)
Решение задачи: «Сортировка вставками. Дана последовательность чисел а1, а2»
textual
Листинг программы
- '::: A - Г¬Г*Г±Г±ГЁГў
- '::: n - ГІГҐГЄГіГ№Г*Гї äëèГ*Г* îòðåçêГ* Г¬Г*Г±Г±ГЁГўГ*
- '::: x - ГўГ±ГІГ*âëÿåìîå Г§Г*Г*Г·ГҐГ*ГЁГҐ
- '::: âîçâðГ*ГІ - Г*îìåð ïîçèöèè, ïîñëå êîòîðîé ГўГ±ГІГ*âëÿòü x
- Function binSearch(A() As Integer, n As Integer, x As Integer) As Integer
- If x < A(1) Then
- binSearch = 0
- Exit Function
- ElseIf x >= A(n) Then
- binSearch = n
- Exit Function
- Else
- iBeg% = 1
- iEnd% = n
- Do
- If iEnd% - iBeg% = 1 Then
- binSearch = iBeg%
- Exit Function
- Else
- iMid% = (iBeg% + iEnd%) \ 2
- If A(iMid%) > x Then
- iEnd% = iMid%
- Else
- iBeg% = iMid%
- End If
- End If
- Loop
- End If
- End Function
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д