计数排序

来源:互联网 发布:淘宝店铺转让qc41 编辑:程序博客网 时间:2024/04/28 04:38

有一种简单的排序算法,叫做计数排序。这种排序算法岁一个待排序的表进行排序,并将排序结果存放在另一个新的表中。必须注意的是,表中所有待排序的关键字互不相同。计数排序算法针对表中的每一个记录,遍历待排序的表一遍,统计表中有多少个记录的关键字比该记录的关键字小。假如针对某一个记录,统计出计数值为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,这时候要是再为它赋多个值的话,就会有溢出。

原创粉丝点击