有一种简单的排序算法,叫做计数排序。这种排序算法岁一个待排序的表进行排序,并将排序结果存放在另一个新的表中。必须注意的是,表中所有待排序的关键字互不相同。计数排序算法针对表中的每一个记录,遍历待排序的表一遍,统计表中有多少个记录的关键字比该记录的关键字小。假如针对某一个记录,统计出计数值为c,那么,这个记录在新的有序表中合适的存放位置即为c。
void sort(int a[],int b[],int n)
{
int m,i,j,t;
for(i=0;i<n;i++)
{
m=0;
t=a[i];
for(j=0;j<n;j++)
{
if(t>a[j])
m++;
}
b[m]=t;
}
}
注意int a[6]={0};则数组中每个元素都被赋予值为0.但是如果是int a[]={0};这样子编译不会报错的,因为a的维数会默认为1,这时候要是再为它赋多个值的话,就会有溢出。