编辑代码

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void display (int a[],int len){
	for(int i=0;i<len;i++){
		printf("%d ",a[i]);
	} 
	printf("\n");
}

void countSort(int a[],int len){
	int b[len];
	int c[len];
	//初始化 
	for(int i=0;i<len;i++){
		b[i]=0;
	}
	//计算下标
	for(int i=0;i<len-1;i++){
		for(int j=i+1;j<len;j++){
			if(a[i]<=a[j]){
				b[j]+=1;
			}
			else if(a[i]>a[j]){
				b[i]+=1;
			}
			else{
				
			}
		}
	}
	//交换
	for(int i=0;i<len;i++){
		c[b[i]]=a[i];
	}
	for(int i=0;i<len;i++){
		a[i]=c[i];
	} 
}

int main(){
	int a[]={32,12,3,4,62,1,34};
	countSort(a,sizeof(a)/sizeof(int));
	display(a,sizeof(a)/sizeof(int));
	
	int a1[]={4,32,36,74,21,46,23,3,2,1};
	countSort(a1,sizeof(a1)/sizeof(int));
	display(a1,sizeof(a1)/sizeof(int));
	
	int a2[]={2,2,14,35,56,2,11,4,6,8,4};
	countSort(a2,sizeof(a2)/sizeof(int));
	display(a2,sizeof(a2)/sizeof(int));
}