排序算法
一只_小菜鸟
一个小菜鸟
展开
-
插入排序和选择排序
/** * 插入排序 * * @param a */ def insertionSort(a: Array[Int]): Unit = { for (i <- 1 until a.length) { var j = i - 1 val current = a(i) while (j >= 0 &...原创 2019-01-22 11:24:41 · 151 阅读 · 0 评论 -
归并排序
/** * 归并排序 * * @param a * @param low * @param high */ def mergeSort(a: Array[Int], low: Int, high: Int): Unit = { val mid = (low + high) / 2 if (low < high) { ...原创 2019-01-22 11:25:39 · 104 阅读 · 0 评论 -
大数求topN
大数据量求topN(1*10^8个数 求top10) /** * 获取topN * * @param n */ def getTopN(n: Int): Array[Int] = { val random = new Random() val array = new Array[Int](n) for (i <- 1 to...原创 2019-01-22 11:23:15 · 228 阅读 · 0 评论 -
快速排序
/** * 快速排序 * @param a * @param low * @param high * @return */ def quickSort(a: Array[Int], low: Int, high: Int): Int = { // 右边的哨兵为了找到比基准小的,左边哨兵为了比基准大的,然后交换 var i =...原创 2019-01-22 11:27:58 · 102 阅读 · 0 评论 -
堆排序
//堆排序 public class HeapSort { public static void main(String[] args) { int[] array = {9, 8, 7, 6, 5, 4, 3, 2, 1, 0, -1, -2, -3}; System.out.println("Before heap:"); print...原创 2019-01-22 11:35:21 · 89 阅读 · 0 评论