linked list - QuickSort on a LinkedList in VBA -


i've unfortunately inherited vba code uses linkedlists in vba nothing sorted, , needs sorted.

linkedlist example: http://support.microsoft.com/kb/166394

i'm trying quicksort on items translating following code linkedlist: vba array sort function?

but i'm having hard time following logic of function determine how translate non-numbered system linked list.

could comment code explain happening, or possibly in translation?

first, need linked list object. use array example. let's take 5 nodes simplicity of example.

'declaration of array dim linkedlist(0 4) node 

now, time fill array. variable head head of our linkedlist :

dim integer = 0  dim currentnode node set currentnode = head.pnext  while not currentnode.pnext currentnode 'walk rest of list end     linkedlist(i) = currentnode     = + 1     set currentnode = currentnode.pnext      'current pointer next node wend 

our linkedlist filled, can use quicksort. launch initial call line :

quicksort linkedlist, lbound(linkedlist), ubound(linkedlist) 

and adapt little function :

public sub quicksort(varray node, inlow long, inhi long)    dim pivot   integer   dim tmpswap integer   dim tmplow  long   dim tmphi   long    tmplow = inlow   tmphi = inhi    pivot = varray((inlow + inhi) \ 2).key    while (tmplow <= tmphi)       while (varray(tmplow).key < pivot , tmplow < inhi)         tmplow = tmplow + 1      wend       while (pivot < varray(tmphi).key , tmphi > inlow)         tmphi = tmphi - 1      wend       if (tmplow <= tmphi)         tmpswap = varray(tmplow).key         varray(tmplow).key = varray(tmphi).key         varray(tmphi).key = tmpswap         tmplow = tmplow + 1         tmphi = tmphi - 1      end if    wend    if (inlow < tmphi) quicksort varray, inlow, tmphi   if (tmplow < inhi) quicksort varray, tmplow, inhi  end sub 

i think it's good. tell me if there problem or misunderstanding.


Comments

Popular posts from this blog

Pull out data related to my apps from Android Play Store and iOS App Store -

Change php variable from jquery value using ajax (same page) -

How can I fetch data from a web server in an android application? -