Hello All, Indeed the native sorting mechanisms in AS3 or extremely fast!!! Much faster than doing them by hand. Is there a particular reason why a custom algorithm is being used?
Cheers, Sam On Jan 2, 2008, at 3:36 PM, Ralf Bokelberg wrote: > 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 _______________________________________________ osflash mailing list [email protected] http://osflash.org/mailman/listinfo/osflash_osflash.org
