Hi,

  I was about to send an other solution when I read this:

Steve Wampler <[EMAIL PROTECTED]> wrote:

>Solution 1:
>
>    procedure main(args)
>       every write(ssort(!&input))
>    end
>
>    procedure ssort(s)
>        s ?  every (ns:="") ||:= (tab(upto(!cset(s))),move(1))
>        return ns
>    end
>

  My new solution is similar to this, but eliminates the tab and move by using 
indexing:

procedure order(s)
  s ? every (outs:="") ||:= s[upto(!cset(s))]
  return outs
end

Are you planning on providing timings for all the solution?  I found the one above to 
be the fastest, both for short (by at least a factor of 2) and long (marginal 
improvement) strings.

Good puzzle!
Michael


__________________________________________________________________
Introducing the New Netscape Internet Service. 
Only $9.95 a month -- Sign up today at http://isp.netscape.com/register

Netscape. Just the Net You Need. 

New! Netscape Toolbar for Internet Explorer
Search from anywhere on the Web and block those annoying pop-ups.
Download now at http://channels.netscape.com/ns/search/install.jsp


-------------------------------------------------------
This SF.Net email is sponsored by the new InstallShield X.
>From Windows to Linux, servers to mobile, InstallShield X is the
one installation-authoring solution that does it all. Learn more and
evaluate today! http://www.installshield.com/Dev2Dev/0504
_______________________________________________
Unicon-group mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/unicon-group

Reply via email to