<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="MS Exchange Server version 5.5.2653.12">
<TITLE>RE: Sorting speed improvement</TITLE>
</HEAD>
<BODY>

<P><FONT SIZE=2>&gt;&gt; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; // The good implementation needs 256 intermedate lists.</FONT>
<BR><FONT SIZE=2>&gt;&gt; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; // But does not need to copy elements from list to list</FONT>
<BR><FONT SIZE=2>&gt;&gt; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; // It is enought to move them (in a list implemented with</FONT>
<BR><FONT SIZE=2>&gt;&gt; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; // pointers, just move the pointer ).</FONT>
</P>

<P><FONT SIZE=2>&gt; Unicode??? Should need 65536 list!</FONT>
</P>

<P><FONT SIZE=2>Yes, you are true. </FONT>
<BR><FONT SIZE=2>If Unicode is well formed and is suitable to be sorted like the</FONT>
<BR><FONT SIZE=2>ASCII code, it is possible to do this using only 256 lists and accesing first the low</FONT>
<BR><FONT SIZE=2>byte of the unicode integer and then the high byte. </FONT>
</P>

<P><FONT SIZE=2>The time will still be O(n).</FONT>
</P>

<P><FONT SIZE=2>Regards.</FONT>
</P>

</BODY>
</HTML>