Форум продуктов IBM Lotus
Общие вопросы => Разработка приложений => Тема начата: Sergey_st85 от 30 Сентябрь 2009, 13:57:18
-
Надо массив отсортировать, он большой, в поле док-та не влезет, чтобы я мог @sort выполнить.
ИЛИ вопрос: как LS-архив Array5 засунуть в @sort, она же в Evaluate будет...
Ранее всегда так делал:
Call dlg.ReplaceItemValue("array_bases",array_bases)
array_bases=Evaluate({@sort(array_bases;[DESCENDING])},dlg)
Я не хочу использовать метод пузырика!!!
Function QuickSort(arr)
On Error Resume Next
Print "Выполняется сортировка..."
Dim count%, span%, j%, i%
Dim vtemp
Forall x In arr
count%=count%+1
End Forall
If count% > 0 Then
span% = count% \ 2
Do While span% > 0
For i% = span% To count% -1
For j% = (i% - span% + 1) To 1 Step -span%
If arr(j%-1) > arr(j%+span%-1) Then
vtemp = arr(j%-1)
arr(j%-1) = arr(j%+span%-1)
arr(j%+span%-1) = vtemp
End If
Next j%
Next i%
span% = span% \ 2
Loop
End If
Print
End Function