用java和scala代码实现快速排序、选择排序、冒泡排序

    技术2022-07-11  84

    目录

    排序方法代码java实现排序生成随机数组冒泡排序选择排序快速排序测试 Scala排序生成随机数组冒泡排序选择排序快速排序

    排序方法代码

    java实现排序

    生成随机数组

    public static int[] arr; // 生成随机数组 public static int[] getRandomArr(int size) { arr = new int[size]; Random random = new Random(); for (int i = 0; i < size; i++) { arr[i]=random.nextInt(100); } return arr; } // 打印数组 public static void printArr(int[] arr) { for (int i = 0; i < arr.length; i++) { System.out.print(arr[i]+" "); } System.out.println(); }

    冒泡排序

    // 冒泡排序 public static void bubbleSort(int[] arr) { for (int i = 0; i < arr.length; i++) { for (int j = 0; j < arr.length-i-1; j++) { if (arr[j] > arr[j + 1]) { int tmp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = tmp; } } } }

    选择排序

    // 选择排序 public static void selectSort(int[] arr) { for (int i = 0; i < arr.length-1; i++) { int min = i; for (int j = i+1; j < arr.length-i; j++) { if (arr[j] < arr[min]) { min = j; } } if (min != i) { int tmp = arr[min]; arr[min] = arr[i]; arr[i] = tmp; } } }

    快速排序

    // 快速排序 public static void quickSort(int[] arr,int low,int high) { int l = low;int h = high; if (l >= h) { return; } boolean flag = false; while (l < h) { if (arr[l] > arr[h]) { int tmp = arr[l]; arr[l] = arr[h]; arr[h] = tmp; flag = !flag; } if (flag) { l++; } else { h--; } } l--; h++; quickSort(arr,low,l); quickSort(arr,h,high); }

    测试

    public static void main(String[] args) { getRandomArr(6); // bubbleSort(arr); // selectSort(arr); quickSort(arr,0,5); printArr(arr); }

    Scala排序

    新建一个maven的quickstar项目,然后按ctrl+alt+shift+s,如下选上Scala SDK 在main目录下新建文件夹scala,然后按照下图把图标变蓝 在scala目录下新建一个Scala Class类 写上对象的名称,在scala里面对象都是静态的,类都是成员的,所以一般都建一个对象

    生成随机数组

    def getRandomArr(size:Int):Array[Int]= { var arr = Array[Int](size) for(i:Int <- 0 until size) { arr(i) = scala.util.Random.nextInt(100) } arr }

    冒泡排序

    def bubbleSort(arr:Array[Int]):Unit = { for(i:Int <- 0 until arr.length) { for(j:Int <- 0 until arr.length-i-1) { if(arr(j) > arr(j+1)) { var tmp = arr(j) arr(j) = arr(j+1) arr(j+1) = arr(j) } } } }

    选择排序

    def selectSort(arr:Array[Int]):Unit = { for(i:Int <- 0 until arr.length-1) { var min =i for(j:Int <- i+1 until arr.length) { if(arr(j) < arr(min)) { min = j } } if(i != min) { var tmp = arr(i) arr(i) = arr(min) arr(min) = tmp } } }

    快速排序

    def quickSort(arr:Array[Int],low:Int,high:Int): Unit = { var l = low var h = high if(l >= h) { return } var flag = false while(l < h) { if(arr(l) > arr(h)) { var tmp = arr(l) arr(l) = arr(h) arr(h) = tmp flag = !flag } if(flag) l+=1 else h-=1 } l-=1 h+=1 quickSort(arr,low,l) quickSort(arr,h,high) }
    Processed: 0.015, SQL: 9