Подскажите аналог @sort для LS!!!

Автор Тема: Подскажите аналог @sort для LS!!!  (Прочитано 5434 раз)

Sergey_st85

  • Старший специалист
  • ****
  • Сообщений: 181
  • Только вперед!
    • Просмотр профиля
    • Личный сайт.
Подскажите аналог @sort для LS!!!
« : 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
« Последнее редактирование: 30 Сентябрь 2009, 14:17:18 от Sergey_st85 »