In the past the native sorting method of Array was rather fast. I always assumed, that it is implemented as quicksort anyways. Should be standard these days, unless you have special requirements. Cheers Ralf.
On Jan 2, 2008 3:40 PM, jake varghese <[EMAIL PROTECTED]> wrote: > Hi Moveup, > > > AS3 already has a Match function for Strings. Check it out at > http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/String.html#match() > > There is also a method for sorting an Array at > http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/Array.html#sort() > but i dont know if it is a quicksort or one of the many other algorithms. > > You can prototype your own quicksort for array with the following code: > > Array.prototype.quicksort = function(Number:left, Number:right):Array { > if (right > left){ > pIndex = left > newPindex = self.partition(left, right, pIndex) > self.quicksort(list, left, newPindex-1) > self.quicksort(list, newPindex+1, right) > } > }; > Array.prototype.swap = function(Number:left, Number:r):Array{ > tmp = self[l] > self[l] = self[r] > self[r] = tmp > } > Array.prototype.partition= function(Number:left, Number:right, > Number:pindex):Array { > pvalue = self[pindex] > self.swap(pindex, right) > sindex = left > for (i = left; i <= right - 1; i++){ > if self[i] <= pvalue{ > self.swap(sindex, i) > sindex = sindex + 1 > } > } > > You should be able to use the sort like: > var Array:arr = new Array("a", "b", "c"); > arr.quicksort(0, arr, size - 1) > > > You might want to double check that. I didnt have time to test it. > > > Thanks, > > > Jake Varghese > CEO / Lead Developer > Flvorful > www.flvorful.com > office: 877-821-8022 x701 > cell: 512-289-3916 > > > > [EMAIL PROTECTED] wrote: > > There are several classic C routines that I would love to convert for use > > in As3. > > However, not being a C programmer, I am stumbling right now. > > > > Can anyone offer some help with the following 2 routines??? > > The first is a method from a classic Regex matching routine and the second > > is a recursive quicksort algorithm > > > > > > /* match: search for regexp anywhere in the text*/ > > int match(char *regexp, char *text) > > { > > if (regexp[0] =='^') > > return matchhere(regexp+1, text); > > do { /* must look even if string is empty */ > > if (matchhere(regexp, text)) > > return 1; > > } while (*text++ != '\0'); > > return 0; > > } > > > > > > > > > > void quicksort(int L, int u) > > if (L>=u) return; > > swap(L, radint(L, u)); > > m=L; > > for (i=L+1;i<=u;i++) > > if (x[i] < x[L]) > > swap(++m, i); > > swap(L,m); > > quicksort(L, m-1); > > quicksort(m+1, u); > > } > > > > > > > > > > > > > > [f] www.flickr.com/photos/bitstream > > [c] 416.668.0034 > > [w] www.bitstream.ca > > -------------------------------------------- > > "...all improvisation is life in search of a style." > > - Bruce Mau,'LifeStyle' > > > > _______________________________________________ > > osflash mailing list > > [email protected] > > http://osflash.org/mailman/listinfo/osflash_osflash.org > > > > > > _______________________________________________ > osflash mailing list > [email protected] > http://osflash.org/mailman/listinfo/osflash_osflash.org > -- Ralf Bokelberg <[EMAIL PROTECTED]> Flex & Flash Consultant based in Cologne/Germany _______________________________________________ osflash mailing list [email protected] http://osflash.org/mailman/listinfo/osflash_osflash.org
