桶排序2

昵称就是最好的昵称發表於2024-11-10
#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;
}

  

相關文章