TempleOSCDV4.13.ISO

This commit is contained in:
Terry A. Davis authored and minexew committed 2018-09-08 21:48:03 +02:00
1 parent b84bbff6db
commit 122df6338e
78 files changed
+3570 -2729

No files matched your search

+62
View File
@@ -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;