package com.ebiz;
import java.util.Scanner;
public class TestClass {
/**
* 对0-1000的整数进行排序(简易桶排序,后续会完善)
* 时间复杂度O(M+N)
* @param args
*/
public static void main(String[] args) {
// 初始化数组的三种方法
// int[] book2 = new int[]{1,2,3};
// int[] book3 = {1,2,3};
// int[] book1 = new int[1001];
System.out.println();
// Step1.先创建桶
int[] book = new int[1001];
// 初始化桶
for(int i = 0; i < 1000; i++){
book[i] = 0;
}
// Step2.输入要排序的个数
Scanner s = new Scanner(System.in);
String str = null;
System.out.println("请输入:");
str = s.next();
System.out.println("您输入的是:" + str);
// Step3.把输入的数值放到对应的桶下进行记录
for(int m = 0; m < Integer.parseInt(str); m++){
// 不能自动提醒输入??????????
Scanner num = new Scanner(System.in);
String key = num.next();
book[Integer.parseInt(key)] ++;
}
// Step4.倒叙打印出来
for(int n = 1000; n >= 0; n--){
for(int k = 0; k < book[n]; k++){
System.out.println("倒叙:" + n);
}
}
}
}
简易桶排序 ——java实现
最新推荐文章于 2021-02-27 20:31:17 发布