桶排序,顾名思义:将所需要排序的数放进一个桶里面去即可,这些桶是已经按大小排列好了的。只需要对桶进行遍历,并且将桶中所保存的数取出来。
题目:用桶排序的方法打印出两种排序,分别是递增、递减两种序列。
要求用户先输入数字的总量,然后输入对应的数字
import java.util.Scanner;
public class t01{
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
int n,i,j,t;
System.out.print("输入排序数组的大小:");
n = scanner.nextInt();
int [] arr = new int[1000]; //桶的总数所需排列的最大数要包含在里面
for(i = 0;i<arr.length;i++){
arr[i] = 0;
}
for(i=1;i<=n;i++){
t = scanner.nextInt();
arr[t]++;
}
System.out.println("递减");
for(i=arr.length-1;i>=0;i--){
for(j=1;j<=arr[i];j++){
System.out.print(i+" ");
}
}
System.out.println();
System.out.println("递增");
for(i=0;i<arr.length;i++){
for(j=1;j<=arr[i];j++){
System.out.print(i+" ");
}
}
}
}
测试效果: