Сортировка массивов разными способами - VBA

Узнай цену своей работы

Формулировка задачи:

У меня завтра зачёт с энономической информатики. И мне нужно запрограмировать следующие методы сортировки массивов средствами МS Excel: пузырьком, вставки и выбора + метод бинарного поиска. Буду очень признателен если кто-то сможет помось написать перограммный код для этих методов. Там не надо никаких форм и т.п. Вывод через обычный cells... Заранее благодарю!

Решение задачи: «Сортировка массивов разными способами»

textual
Листинг программы
Function UniqueSortArr(ByRef v As Variant)
    Dim i&, j&, k&, x, c As New Collection
    For Each x In v
        If c.Count = 0 Then
            c.Add x
        ElseIf c.Item(1) > x Then
            c.Add x, Before:=1
        ElseIf c.Item(c.Count) < x Then
            c.Add x
        Else
            i = 1
            j = c.Count
            Do While i < j
                k = i + (j - i) \ 2
                If c.Item(k) >= x Then j = k Else i = k + 1
            Loop
            If c.Item(i) > x Then c.Add x, Before:=i
        End If
    Next x
    ReDim v(1 To c.Count, 1 To 1)
    For i = 1 To c.Count: v(i, 1) = c.Item(i): Next
    UniqueSortArr = v
End Function

Оцени полезность:

9   голосов , оценка 3.778 из 5
Похожие ответы