Quicker Sort

I am currently doing a lot of bubble sorting of arrays.  Is there a faster way than this:
    For x = 0 To UBound(SiteRslts, 2) - 2
        For y = x + 1 To UBound(SiteRslts, 2) - 1
            If CStr(SiteRslts(6, x)) > CStr(SiteRslts(6, y)) Then
                For z = 0 To 6
                    TempArr(z) = SiteRslts(z, x)
                    SiteRslts(z, x) = SiteRslts(z, y)
                    SiteRslts(z, y) = TempArr(z)
                Next
            End If
        Next
    Next

Open in new window

Bob SchneiderCo-OwnerAsked:
Who is Participating?
 
Robert SchuttSoftware EngineerCommented:
0
 
Bob SchneiderCo-OwnerAuthor Commented:
That is a nice resource, thank you.  It is clear that I am using an exchange sort.   Can I assume that, for a relatively small array size, the Quick Sort is a better algorithm?  If so, can I get some help applying this to the structure of my arrays.  Basically I would like to write a function that looks at a dynamic two-dimensional array such as SiteRslts(x, y) and sort based on data type at any dimension x.  The example I provided sorts based on string data types but I would also need one sorting by date, integer, and double or single.
0
Cloud Class® Course: Certified Penetration Testing

This CPTE Certified Penetration Testing Engineer course covers everything you need to know about becoming a Certified Penetration Testing Engineer. Career Path: Professional roles include Ethical Hackers, Security Consultants, System Administrators, and Chief Security Officers.

 
TommySzalapskiCommented:
For a relatively small array size, it doesn't really matter what sort you use.
Quicksort will be a lot faster than Bubblesort (which is what you are using). So will any of the nlg(n) sorts.

However, if you are using VB/asp, then why not use the built in sorts?
You could use IComparator or the Array.OrderBy function and pass it the element that you want to sort by. (I'm not a VB programmer so I don't know the exact syntax off the top of my head).
This may help
http://stackoverflow.com/questions/1751768/sort-an-array-of-structures-in-net
0
 
sybeCommented:
It is probably much faster to sort it in a recordset. You can create a ADODB.RecordSet on the fly and use the Sort Property on the recordset.
0
 
Bob SchneiderCo-OwnerAuthor Commented:
Problem with a recordset sort is that some of the array fields are being populated via a function (to avoid getting more complicated of a join than my cerebellum can manage).  I will consider that though, thanks...

Still haven't checked out the 4Guys...solution yet...very soon..
0
 
Bob SchneiderCo-OwnerAuthor Commented:
Learned a lot about sorting.  Thanks all!
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.