1999-12-09 17:26:08 +01:00
. \" Copyright (c) 1990, 1991, 1993
. \" The Regents of the University of California. All rights reserved.
. \"
. \" Redistribution and use in source and binary forms, with or without
. \" modification, are permitted provided that the following conditions
. \" are met:
. \" 1. Redistributions of source code must retain the above copyright
. \" notice, this list of conditions and the following disclaimer.
. \" 2. Redistributions in binary form must reproduce the above copyright
. \" notice, this list of conditions and the following disclaimer in the
. \" documentation and/or other materials provided with the distribution.
. \" 3. All advertising materials mentioning features or use of this software
. \" must display the following acknowledgement:
. \" This product includes software developed by the University of
. \" California, Berkeley and its contributors.
. \" 4. Neither the name of the University nor the names of its contributors
. \" may be used to endorse or promote products derived from this software
. \" without specific prior written permission.
. \"
. \" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
. \" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
. \" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
. \" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
. \" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
. \" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
. \" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
. \" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
. \" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
. \" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
. \" SUCH DAMAGE.
. \"
. \" @(#)radixsort.3 8.2 (Berkeley) 1/27/94
2002-05-18 09:12:57 +02:00
. \" %FreeBSD: src/lib/libc/stdlib/radixsort.3,v 1.5.2.4 2001/12/14 18:33:58 ru Exp %
2001-05-14 03:10:24 +02:00
. \" $FreeBSD$
2001-12-29 19:20:02 +01:00
. \"
1999-12-09 17:26:08 +01:00
.Dd January 27 , 1994
.Dt RADIXSORT 3
.Os
.Sh ̾<EFBFBD> <EFBFBD>
.Nm radixsort
.Nd <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
2001-12-29 19:20:02 +01:00
.Sh <EFBFBD> 饤<EFBFBD> ֥<EFBFBD> <EFBFBD> <EFBFBD>
.Lb libc
1999-12-09 17:26:08 +01:00
.Sh <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
2002-05-18 09:12:57 +02:00
.In limits.h
.In stdlib.h
1999-12-09 17:26:08 +01:00
.Ft int
.Fn radixsort "const unsigned char **base" "int nmemb" "const unsigned char *table" "unsigned endbyte"
.Ft int
.Fn sradixsort "const unsigned char **base" "int nmemb" "const unsigned char *table" "unsigned endbyte"
.Sh <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
.Fn radixsort
<EFBFBD> ؿ<EFBFBD> <EFBFBD> <EFBFBD>
.Fn sradixsort
2001-12-29 19:20:02 +01:00
<EFBFBD> ؿ<EFBFBD> <EFBFBD> ϡ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (<28> <> <EFBFBD> ǥ<EFBFBD> <C7A5> å<EFBFBD> <C3A5> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ) <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ƥ<EFBFBD> <C6A4> ޤ<EFBFBD> <DEA4> <EFBFBD>
1999-12-09 17:26:08 +01:00
.Pp
2001-12-29 19:20:02 +01:00
<EFBFBD> <EFBFBD> <EFBFBD> δؿ<EFBFBD> <EFBFBD> ϡ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ф<EFBFBD>
1999-12-09 17:26:08 +01:00
.Fa base
2001-12-29 19:20:02 +01:00
<EFBFBD> ˤ<EFBFBD> <EFBFBD> äƻ<EFBFBD> <EFBFBD> Ȥ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ƥ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Х <EFBFBD> <EFBFBD> <EFBFBD> ʸ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ؤΥ ݥ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ȥ<EFBFBD> <EFBFBD> ޤ<EFBFBD> <EFBFBD> <EFBFBD>
<EFBFBD> Х <EFBFBD> <EFBFBD> <EFBFBD> ʸ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ˤ<EFBFBD> Ǥ<EFBFBD> դ<EFBFBD> <EFBFBD> ͤ<EFBFBD> <EFBFBD> ޤ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ޤ<EFBFBD> <EFBFBD> <EFBFBD>
<EFBFBD> <EFBFBD> ʸ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> κǸ<EFBFBD> <EFBFBD> ˤϡ<EFBFBD> <EFBFBD> 桼<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
1999-12-09 17:26:08 +01:00
.Fa endbyte
<EFBFBD> <EFBFBD> <EFBFBD> դ<EFBFBD> <EFBFBD> ޤ<EFBFBD> <EFBFBD> <EFBFBD>
.Pp
<EFBFBD> <EFBFBD> <EFBFBD> ץꥱ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ǥϡ<EFBFBD>
.Fa table
<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ꤹ<EFBFBD> 뤳<EFBFBD> Ȥǥ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ƚ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ǥ<EFBFBD> <EFBFBD> ޤ<EFBFBD> <EFBFBD> <EFBFBD>
.Dv NULL
<EFBFBD> ǤϤʤ<EFBFBD>
.Fa table
<EFBFBD> ϡ<EFBFBD> <EFBFBD> ƥХ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ͤΥ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ȥ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ȥ<EFBFBD> <EFBFBD> ޤࡢ
.Dv UCHAR_MAX
2001-12-29 19:20:02 +01:00
+ 1 <20> Х <EFBFBD> <D0A5> Ȥ<EFBFBD> <C8A4> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ȥ<F2BBB2BE> <C8A4> Ƥ<EFBFBD> <C6A4> <EFBFBD> ɬ<EFBFBD> פ<EFBFBD> <D7A4> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ޤ<EFBFBD> <DEA4> <EFBFBD>
ʸ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ν <EFBFBD> ü<EFBFBD> Х <EFBFBD> <EFBFBD> ȤΥ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ȥ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ȥϡ<EFBFBD>
0 <20> <> 255 (<28> ս 祽<D5BD> <E7A5BD> <EFBFBD> <EFBFBD> ) <20> Ǥʤ<C7A4> <CAA4> <EFBFBD> <EFBFBD> Фʤ<D0A4> <CAA4> ޤ<EFBFBD> <DEA4> <EFBFBD> <EFBFBD> <EFBFBD>
ʣ<EFBFBD> <EFBFBD> <EFBFBD> Υ Х <EFBFBD> <EFBFBD> ȤΥ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ȥ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ȥ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ȥ⤢<EFBFBD> <EFBFBD> <EFBFBD> ޤ<EFBFBD> <EFBFBD> <EFBFBD>
1999-12-09 17:26:08 +01:00
.Fa table
<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ϡ<EFBFBD> <EFBFBD> ۤʤ륭<EFBFBD> <EFBFBD> <EFBFBD> 饯<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ȥ<EFBFBD> <EFBFBD> 륢<EFBFBD> ץꥱ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ǥ<EFBFBD> <EFBFBD> <EFBFBD>
2001-12-29 19:20:02 +01:00
<EFBFBD> <EFBFBD> <EFBFBD> Ȥ<EFBFBD> <EFBFBD> <EFBFBD> A <20> <> <EFBFBD> <EFBFBD> Z <20> γ ơ<CEB3> <C6A1> Υ <EFBFBD> <CEA5> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ȥ<EFBFBD> a <20> <> <EFBFBD> <EFBFBD> z <20> γ ơ<CEB3> <C6A1> Υ <EFBFBD> <CEA5> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ȥ<EFBFBD> <C8A4> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ȡ<EFBFBD>
<EFBFBD> <EFBFBD> ʸ<EFBFBD> <EFBFBD> <EFBFBD> Ⱦ<EFBFBD> ʸ<EFBFBD> <EFBFBD> <EFBFBD> ζ<EFBFBD> <EFBFBD> ̤ʤ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ȥ<EFBFBD> <EFBFBD> Ǥ<EFBFBD> <EFBFBD> ޤ<EFBFBD> <EFBFBD> <EFBFBD>
1999-12-09 17:26:08 +01:00
.Fa table
2001-12-29 19:20:02 +01:00
<EFBFBD> <EFBFBD> NULL <20> Ǥ<EFBFBD> <C7A4> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 硢<EFBFBD> <E7A1A2> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ƥϡ<C6A4> <CFA1> <EFBFBD> <EFBFBD> Ȥ<EFBFBD> <C8A4> <EFBFBD> <EFBFBD> Х <EFBFBD> <D0A5> <EFBFBD> ʸ<EFBFBD> <CAB8> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
1999-12-09 17:26:08 +01:00
.Tn ASCII
<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ˽<EFBFBD> <EFBFBD> äƾ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ˥<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ȥ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ޤ<EFBFBD> <EFBFBD> <EFBFBD>
2001-12-29 19:20:02 +01:00
<EFBFBD> <EFBFBD> <EFBFBD> λ<EFBFBD> <EFBFBD> <EFBFBD>
1999-12-09 17:26:08 +01:00
.Fa endbyte
2001-12-29 19:20:02 +01:00
<EFBFBD> Υ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ȥ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ȥ<EFBFBD> 0 <20> Ǥ<EFBFBD> <C7A4> <EFBFBD>
1999-12-09 17:26:08 +01:00
.Pp
.Fn sradixsort
2001-12-29 19:20:02 +01:00
<EFBFBD> ؿ<EFBFBD> <EFBFBD> ϰ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ǥ<EFBFBD> <EFBFBD> <EFBFBD>
<EFBFBD> Ĥޤꡢ2 <20> Ĥ<EFBFBD> <C4A4> <EFBFBD> <EFBFBD> Ǥ<EFBFBD> <C7A4> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 硢
<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ǥν <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ϥ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ȺѤ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ǥ<EFBFBD> <EFBFBD> Ѳ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ޤ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
1999-12-09 17:26:08 +01:00
.Fn sradixsort
<EFBFBD> ؿ<EFBFBD> <EFBFBD> ϡ<EFBFBD>
.Fa nmemb
<EFBFBD> ݥ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ƥ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ˽<EFBFBD> ʬ<EFBFBD> ʥ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ; ʬ<EFBFBD> ˻<EFBFBD> <EFBFBD> Ѥ<EFBFBD> <EFBFBD> ޤ<EFBFBD> <EFBFBD> <EFBFBD>
.Pp
.Fn radixsort
<EFBFBD> ؿ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ǥ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ; ʬ<EFBFBD> ˻<EFBFBD> <EFBFBD> Ѥ<EFBFBD> <EFBFBD> ޤ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
.Pp
2001-12-29 19:20:02 +01:00
<EFBFBD> <EFBFBD> <EFBFBD> δؿ<EFBFBD> <EFBFBD> ϡ<EFBFBD> <EFBFBD> Ǿ<EFBFBD> <EFBFBD> ̥Х <EFBFBD> <EFBFBD> ȴ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ȥΰ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ǥ<EFBFBD> <EFBFBD> <EFBFBD>
D.E. Knuth <20> Υ <EFBFBD> <CEA5> 르<EFBFBD> ꥺ<EFBFBD> <EAA5BA> R <20> ȥ<EFBFBD> <C8A5> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 5.2.5<EFBFBD> <EFBFBD>
<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 10 <20> Ȥ<F2BBB2BE> <C8A4> Ƥ<EFBFBD> <C6A4> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
<EFBFBD> <EFBFBD> <EFBFBD> δؿ<EFBFBD> <EFBFBD> ˤϡ<EFBFBD> ʸ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Υ Х <EFBFBD> <EFBFBD> ȿ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 㤷<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ֤<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ޤ<EFBFBD> <EFBFBD> <EFBFBD>
1999-12-09 17:26:08 +01:00
.Sh <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
2001-12-29 19:20:02 +01:00
.Rv -std radixsort
1999-12-09 17:26:08 +01:00
.Sh <EFBFBD> <EFBFBD> <EFBFBD> 顼
.Bl -tag -width Er
.It Bq Er EINVAL
.Fa table
<EFBFBD> <EFBFBD>
.Fa endbyte
2001-12-29 19:20:02 +01:00
<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ȥ<EFBFBD> <EFBFBD> ͤ<EFBFBD> 0 <20> <> 255 <20> ˤʤäƤ<C3A4> <C6A4> ޤ<EFBFBD> <DEA4> <EFBFBD> <EFBFBD> <EFBFBD>
1999-12-09 17:26:08 +01:00
.El
.Pp
.Fn sradixsort
<EFBFBD> ؿ<EFBFBD> <EFBFBD> ϡ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 顼<EFBFBD> <EFBFBD> ȯ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ȡ<EFBFBD> <EFBFBD> 饤<EFBFBD> ֥<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 롼<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
.Xr malloc 3
2001-12-29 19:20:02 +01:00
<EFBFBD> ǻ<EFBFBD> <EFBFBD> ꤵ<EFBFBD> <EFBFBD> <EFBFBD> Ƥ<EFBFBD> <EFBFBD> 륨<EFBFBD> 顼<EFBFBD> <EFBFBD>
1999-12-09 17:26:08 +01:00
.Va errno
2001-12-29 19:20:02 +01:00
<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ꤹ<EFBFBD> 뤳<EFBFBD> Ȥ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ޤ<EFBFBD> <EFBFBD> <EFBFBD>
1999-12-09 17:26:08 +01:00
.Sh <EFBFBD> <EFBFBD> Ϣ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
.Xr sort 1 ,
.Xr qsort 3
.Pp
.Rs
. %A Knuth, D.E.
. %D 1968
. %B "The Art of Computer Programming"
. %T "Sorting and Searching"
. %V Vol. 3
. %P pp. 170 -178
.Re
.Rs
. %A Paige, R.
. %D 1987
. %T "Three Partition Refinement Algorithms"
. %J "SIAM J. Comput."
. %V Vol. 16
. %N No. 6
.Re
.Rs
. %A McIlroy, P.
. %D 1993
. %B "Engineering Radix Sort"
. %T "Computing Systems"
. %V Vol. 6 :1
. %P pp. 5 -27
.Re
.Sh <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
.Fn radixsort
<EFBFBD> ؿ<EFBFBD> <EFBFBD> ϡ<EFBFBD>
.Bx 4 .4
2001-12-29 19:20:02 +01:00
<EFBFBD> ˤϤ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> о 줷<EFBFBD> ޤ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>