桶排序2
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
/*
桶排序思想:
把每个数组开辟的空间看作一个桶,
将与桶编号相同的数据存入桶中
1 3 5 7 9 8 6 4 2 10 数据b[]
开辟桶的个数大于数据最大值
第一步:桶内初始化为0
第二步:判断数据存入桶中
a[11]
a[0]...a[10]
if(i==b[j])
a[i]++;
第三步输出:
if(a[i]!=0){
i
a[i]--;
}
*/
int main(){
int a[10]={1,2,3,4,5,6,7,8,9,10};
int b[1000];
memset(b,0,sizeof(b));//数组全部初始化为0
/*
for(int i=0;i<1000;i++){
b[i]=0;
}
*/
for(int i=0;i<10;i++){
b[a[i]]++;
}
for(int i=0;i<1000;i++){
while(b[i]!=0){
cout<<i<<" ";
b[i]--;
}
}
return 0;
}

浙公网安备 33010602011771号