barrel.c
来自「排序算法的实现」· C语言 代码 · 共 42 行
C
42 行
long SIZE=100000;
#include<stdlib.h>
#include<stdio.h>
#include "d:\p1\barrel.h"
void barrelway(float *p,long n)
{
long i;
long j;
long d;
int id;
barr bar[11];
initbar(bar,11);
for(i=0;i<n;i++)
{ id=(int)(10*p[i]);
j=bar[id].count++;
bar[id].key[j]=p[i];
}
for(i=0;i<11;i++)
{ if(bar[i].count!=0)
{ quicksort(bar[i].key,0,bar[i].count-1);}
}
for(i=0,d=0;i<11;i++)
{ long k=0;
while(bar[i].count&&k<bar[i].count&&d<n)
{ p[d++]=bar[i].key[k++];
}
}
}
void initbar(barr *bar,int n)
{ int i;
for(i=0;i<n;i++)
{ bar[i].key=calloc(SIZE,sizeof(float));
bar[i].count=0;
}
return;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?