标签:style blog io color sp for 数据 on div
#include <stdio.h> #include <conio.h> #define MAX 1000 //函数原型 void counting_sort(int A[],int length_A,int B[],int k); //测试代码 void main() { int A[]={-3,2,6,5,4,8,9,7,0,10,3};//1到10,十个测试数据 int B[11]={0}; int k=10;//所有测试数据都处于0到k之间 counting_sort(A,10,B,k); for(int i=1;i<11;i++) printf("%d ",B[i]); getch(); } //计数排序 void counting_sort(int A[],int length_A,int B[],int k) { int C[MAX]={0};//C是临时数组 for(int i=1;i<=length_A;i++) C[A[i]]++; //此时C[i]包含等于i的元素个数 for(i=1;i<=k;i++) C[i]=C[i]+C[i-1]; //此时C[i]包含小于或者等于i的元素个数 for(i=length_A;i>=1;i--)//从length_A到1逆序遍历是为了保证相同元素排序后的相对顺序不改变 { //如果从1到length_A,则相同元素的相对顺序会逆序,但结果也是正确的 B[C[A[i]]]=A[i]; C[A[i]]--; } }
标签:style blog io color sp for 数据 on div
原文地址:http://www.cnblogs.com/leijiangtao/p/4114747.html