Java实现排序算法效率比较
实训题 4:排序算法效率比较 一 项目说明 实训目的:数组、Java API 的应用 实训要求:随机生成 10000 个 10000 以内的实数,分别用选择、冒泡、快速排序等算法进行排序,计算各种排序所需时间并比较算法的效率。 二 类设计 快速排序kuaiSuSort(int a[], int low, int high) 快速排序的基本思想就是从一个数组中任意挑选一个元素(通常来说会选择最左边的元素)作为中轴元素,将剩下的元素以中轴元素作为比较的标准,将小于等于中轴元素的放到中轴元素的左边,将大于中轴元素的放到中轴元素的右边。然后以当前中轴元素的位置为界,将左半部分子数组和右半部分子数组看成两个新的数组,重复上述操作,直到子数组的元素个数小于等于1(因为一个元素的数组必定是有序的) 排序算法效率比较Compare(long a,long b,long c) 将每个排序运行的时间进行比较,输出时间最少的那个排序算法。 三 项目实现设计 主方法中用for循环随机数的生成先生成 10000 个 10000 以内的实数,然后在各个排序前后定义一个System类的currentTimeMillis()方法,用于统计当前时间,再进行排序运算: 冒泡排序 第一步,从第一个元素开始,将相邻的两个元素依次进行比较,直到最后两个元素完成比较。如果前一个元素比后一个元素大,则交换它们的位置