码迷,mamicode.com
首页 > 编程语言 > 详细

桶排序

时间:2020-04-15 13:54:08      阅读:76      评论:0      收藏:0      [点我收藏+]

标签:简便   比较   随机   没有   scan   排序   code   Stub   类型   

桶排序

桶排序的特点是时间复杂度比较低,运算起来非常快,逻辑也很简便,写起来很容易。但是空间复杂度非常大,不适合大型数据,因为大型数据浪费的内存空间特别多。而且使用桶排序时数据类型比较单一,不适合复杂情况

通过下面一个例题理解桶排序

**期末考试完了老师要将同学们的分数按照从高到低排序。小哼的班上只有5个同学,这5个同学分别考了 5 分、3 分、 5 分、2 分和 8 分,哎考得真是惨不忍睹(满分是 10 分)。接下来将分数进行从小到大排序, 排序后是 8 5 5 3 2。你有没有什么好方法编写一段程序,让计算机随机读入 5 个数然后将这 5 个数从小到大输出?**

解析: 创建一个长度为11的数组,下标分别是0~10,根据满分是10分,所以每一个数组下标都是对应一个分数。每个同学考的分值出现一次,就在与分值相对应的下标表示的值加1.
技术图片

package _4_9_test;

import java.util.Scanner;

/*
 * 桶排序
 **/
public class EightyThree {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int score[] = new int[11];
		
		Scanner scanner = new Scanner(System.in);
//		输入学生个数
		int n = scanner.nextInt();
		
//		输入学生成绩
		int num;
		for(int i=0;i<n;i++) {
			num = scanner.nextInt();
			score[num]++;
		}
		
//		按从小到大的顺序输出学生分数
		for(int i=0;i<11;i++) {
				for(int j=0;j<score[i];j++) {
					System.out.print(i+" ");
				}
		}

	}

}

桶排序

标签:简便   比较   随机   没有   scan   排序   code   Stub   类型   

原文地址:https://www.cnblogs.com/lyd447113735/p/12704643.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!