计数排序

#include <IOSTREAM.H>
//计数排序,这是基数排序的基本操作
//待排序的数字在某一范围内,如从0到9
void main()
{
    int a[10]={0};
    int array[]={2,3,4,2,3,5,2,9,8,6,5,0,1,7,6,8,9,5,3,6,7};
    int temp[21];
    for (int i=0;i<21;i++)
    {
        a[array[i]]++;
    }
    a[0]--;
    for(i=1;i<10;i++)
        a[i]+=a[i-1];

    for (i=0;i<21;i++)
    {
        temp[a[array[i]]]=array[i];
        a[array[i]]--;
    }
    for(i=0;i<21;i++)
        cout<<temp[i]<<"  ";
}

posted on 2012-10-17 15:05  为梦飞翔  阅读(220)  评论(0编辑  收藏  举报

导航