Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Load Sort
#1
Code: (Select All)
_Title "LoadSort Demo" ' fixed 2024-04-29

ReDim dat$(1 To 1)
Do
    Read insert$
    If insert$ <> "EOD" Then loadSort insert$, dat$() Else Exit Do
Loop
For i = LBound(dat$) To UBound(dat$)
    Print dat$(i); " ";
    If concat$ = "" Then
        lastWord$ = dat$(i)
        cntWord = 1
        concat$ = dat$(i) + "#" + _Trim$(Str$(cntWord))
    Else
        If dat$(i) = lastWord$ Then cntWord = cntWord + 1 Else cntWord = 1: lastWord$ = dat$(i)
        concat$ = concat$ + ", " + dat$(i) + "#" + _Trim$(Str$(cntWord))
    End If
Next
Print: Print: Print concat$

Data dog,cat,rabbit,frog,horse,dog,mouse,pig,cat,bat,cat,dog,bird,fish,cat,pig,dog,EOD

'this requires a separate dynamic array (used redim instead of dim) to load and sort array
Sub loadSort (insertN As String, dynArr() As String) '  version 2024-04-29
    'note this leaves dynArr(0) empty! so ubound of array is also number of items in list
    Dim ub, j, k

    ub = UBound(dynArr)
    If LBound(dynarr) = ub And dynArr(ub) = "" Then ' array not started yet
        dynArr(ub) = insertN
    Else
        ReDim _Preserve dynArr(LBound(dynArr) To ub + 1) As String
        For j = 1 To ub
            If insertN < dynArr(j) Then '  GT to LT according to descending or ascending sort
                For k = ub + 1 To j + 1 Step -1
                    dynArr(k) = dynArr(k - 1)
                Next
                Exit For
            End If
        Next
        dynArr(j) = insertN
    End If
End Sub
b = b + ...
Reply


Messages In This Thread
Load Sort - by bplus - 04-29-2024, 07:17 PM
RE: Load Sort - by bplus - 04-29-2024, 07:23 PM
RE: Load Sort - by SMcNeill - 04-29-2024, 07:37 PM
RE: Load Sort - by bplus - 04-29-2024, 08:18 PM
RE: Load Sort - by bplus - 04-30-2024, 02:24 AM
RE: Load Sort - by bplus - 04-30-2024, 08:27 PM
RE: Load Sort - by SMcNeill - 04-30-2024, 08:35 PM



Users browsing this thread: 1 Guest(s)