十大经典排序算法-冒泡排序
一、冒泡排序
1、基本介绍
冒泡排序的基本思想:通过对待排序序列从前向后(从下标较小的元素开始),依次比较相邻元素的值,若发现逆序则交换,使值较大的元素逐渐从前向后移动,就像水底的气泡一样逐渐向上冒。

2、时间复杂度
时间复杂度O(n^2)
3、代码实现
import java.util.Arrays; public class BubbleSort { public static void main(String[] args) { int [] arr = new int[]{5,7,2,9,4,1,0,5,7}; System.out.println(Arrays.toString(arr)); bubbleSort(arr); System.out.println(Arrays.toString(arr)); } // 冒泡排序 public static void bubbleSort(int[] arr){ // 控制共比较多少轮 for (int i = 0;i<arr.length-1;i++){ // 控制比较的次数 for (int j = 0;j<arr.length-1-i;j++){ if (arr[j]>arr[j+1]){ // 交换位置 int tmp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = tmp; } } } } }
scala实现
/** * Created with IntelliJ IDEA. * User: Andrew * Date: 2021/02/10 * Time: 15:40 * Description: No Description */ object BuSort { def BuSort(arr:Array[Int]):Array[Int]={ for (i <- 0 until arr.length-1){ for (j <- 0 until arr.length-i-1){ if (arr(j) > arr(j+1)){ val temp = arr(j) arr(j) = arr(j+1) arr(j+1) = temp } } } arr } def main(args: Array[String]): Unit = { val array = Array(5,7,2,9,4,1,0,5,7) println(array.toBuffer) BuSort(array) println(array.toBuffer) } }

浙公网安备 33010602011771号