Sorting Algorithm required!

A

agarwaldvk

Hi All


Whilst Excel sorting is extremely quick, I sometimes have a need t
sort arrays (and reasonably large ones at that say of the order o
30000 Excel rows and 10 Excel columns sorted by 1 or 2 columns).
tried to do that in VBA Excel for an array of 5500 rows and 10 column
and it took around 5 minutes but Excel sorted the same data in les
than a minute. So in this instance, I did take that option but this ma
not be always possible or feasible!

I am advised that quicksort is pretty efficient for unsorted dat
(whilst performing poorly for nearly sorted dataset - which more tha
likely would never be the case for my dataset) and counting sort i
lighting fast, can anyone help me write (relatively easily) a VBA cod
for either of these sort procedures or gulde me to a website where som
assitance can be available?

For the reason stated above, I would additionally like to be able t
sort arrays using one of the 2 alternatives, if possible!

Any assistance or help shall be highly valued.


Best regards


Deepak Agarwa
 
M

Myrna Larson

Go to the Google newsgroups search, and search the microsoft.public.excel.*
groups for quicksort. Several QS procedures have been posted. But, AIR, they
would have to be modified to sort with two keys. (You can't run QS once on the
less significant key, then a 2nd time on the more significant key, because QS
isn't 'stable'.)
 
D

Dave Ring

As Myrna Larson points out, if you need to sort by two columns, you want
a stable algorithm and quicksort won't do. The likely candidates are
radixsort (aka counting sort) or mergesort. I can send you either or
both of these in VBA, but are the fields you need to sort on numbers or
strings?

Dave Ring
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top