Initial (manual) import
This commit is contained in:
1 parent
f39611c506
commit
895fe109de
661 files changed
+245862
No files matched your search
@@ -0,0 +1,62 @@
|
||||
#define RADIX 256
|
||||
#define N 16
|
||||
|
||||
U8 a[N];
|
||||
|
||||
class Lst
|
||||
{
|
||||
Lst *next;
|
||||
U8 *a;
|
||||
} l[N],*r[RADIX];
|
||||
|
||||
U0 DumpIn()
|
||||
{
|
||||
I64 i;
|
||||
"$$RED$$\n\nInput$$FG$$\n";
|
||||
for (i=0;i<N;i++)
|
||||
"%d:%d\n",i,a[i];
|
||||
}
|
||||
|
||||
U0 DumpOut()
|
||||
{
|
||||
I64 i,j=0;
|
||||
Lst *tmpl;
|
||||
"$$RED$$\n\nOutput$$FG$$\n";
|
||||
for (i=0;i<RADIX;i++) {
|
||||
tmpl=r[i];
|
||||
while (tmpl) {
|
||||
"%d:%d\n",j++,*tmpl->a;
|
||||
tmpl=tmpl->next;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
U0 Init()
|
||||
{
|
||||
I64 i;
|
||||
MemSet(r,0,sizeof(r));
|
||||
for (i=0;i<N;i++) {
|
||||
a[i]=RandU16&255;
|
||||
l[i].next=NULL;
|
||||
l[i].a=&a[i];
|
||||
}
|
||||
}
|
||||
|
||||
U0 Sort()
|
||||
{
|
||||
I64 i;
|
||||
for (i=0;i<N;i++) {
|
||||
l[i].next=r[*l[i].a];
|
||||
r[*l[i].a]=&l[i];
|
||||
}
|
||||
}
|
||||
|
||||
U0 RadixSort()
|
||||
{
|
||||
Init;
|
||||
DumpIn;
|
||||
Sort;
|
||||
DumpOut;
|
||||
}
|
||||
|
||||
RadixSort;
|
||||
Reference in new issue
Block a user