Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Seven Bubble sort for you: which do you choose?
#33
(03-24-2023, 08:24 AM)david_uwi Wrote: For small data sets (<5000) I always use select sort.
It is easy to code.
It always works.
It always takes the same amount of time.
For larger data set some there are much better routines, but I don't understand how they work - some kind of splitting and pivoting -magic in other words.
Code: (Select All)
DefInt A-S
kdim = 32767
Dim x(kdim)
For i = 1 To kdim
    x(i) = Rnd * 1000
    Print x(i),
Next i
Print
tt = Timer
For j = 1 To kdim \ 2
    jmax = j: xmax = x(j)
    jmin = kdim - j + 1: xmin = x(kdim - j + 1)
    For i = j + 1 To kdim - j + 1
        If x(i) > xmax Then jmax = i: xmax = x(i)
        If x(i) < xmin Then jmin = i: xmin = x(i)
    Next i
    Swap x(j), x(jmax)
    Swap x(kdim - j + 1), x(jmin)
Next j
Print Timer - tt
Input sa$
For i = 1 To kdim
    Print x(i),
Next i
Print

Hi David
thanks to remember me the select sort method.
I think to make a thread about it, and I'll post the link to this your message here in bubble sort land.
Based on my memory this your code shows an optmized algorithm of select sort because I remember a code that runs across the whole array and not only to the first half array.

Here the results after running your code

[Image: immagine-2023-03-26-174154854.png]


As I can observe it performs a discendent/decreasing ordering of the array.
Moreover value are type Single!  But it is better so because forcing to be Integer% we get so many duplicates!
Reply


Messages In This Thread
RE: Seven Bubble sort for you: which do you choose? - by TempodiBasic - 03-26-2023, 03:48 PM



Users browsing this thread: 6 Guest(s)