On Apr 3, 2005, at 9:04 PM, Ken Ray wrote:
I can of course do a repeat loop through the small list and remove those
items from the comprehensive list, but I'm wondering if there's a faster way
to do this.
Some wild ideas:
1. Convert the smaller list into a regex and use replaceText().
2. Convert the long list to an array and loop through the smaller one and delete. Oh, wait, that's a loop.
3. Represent sets as arrays spanning the universe of numbers for your lists. Represent your sets with these. If a number is in the set, the value is 1. If not, the value is 0. Define intersection as *. Define complement as take away one and times -1. The set difference is the intersection with the complement of the set to be taken away. Remember * and + can apply to arrays.
4. Represent sets as a string of bits, 8 bits per char in a string. Use binaryDecode and binaryEncode and bitAnd and bitNot and loop 32 bits at a time. Whoops, that's looping, but each pass takes care of 32 values in your universe.
5. Take the middle line of the small list and find it or where it would be in the big list. Concatenate the result of recursion of applying your function to the fronts and to the backs, where those do not include the middle line.
6. I know it involves loops, but I have looped through both loops together and that was satisfactory for what I was doing, but I was not that happy with it.
Dar
-- ********************************************** DSC (Dar Scott Consulting & Dar's Lab) http://www.swcp.com/dsc/ Programming Services and Software **********************************************
_______________________________________________ use-revolution mailing list [email protected] http://lists.runrev.com/mailman/listinfo/use-revolution
