冒泡排序:
它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。
动图演示:
实现代码:
1 public class BubbleSort { 2 3 4 public static void main(String[] args) { 5 6 //创建一个长度为50的数组,随机存储0~50的自然整数 7 int arr[] = new int[50]; 8 Random random = new Random(); 9 for (int i = 0; i < arr.length; i++) { 10 arr[i] = random.nextInt(50); 11 System.out.print(arr[i] + ","); 12 } 13 14 System.out.println(); 15 16 // 使用冒泡排序 17 int[] arrs = bubbleSort(arr); 18 for (int i = 0; i < arrs.length; i++) { 19 System.out.print(arrs[i] + ","); 20 } 21 22 } 23 24 // 冒泡排序 25 private static int[] bubbleSort(int[] arr) { 26 // 获取数组的长度 27 int length = arr.length; 28 for (int i = 0; i < length; i++) { 29 for (int j = 0; j < length - 1 - i; j++) { 30 // 比较相邻的元素。如果第一个比第二个大,就交换它们两个 31 if (arr[j] > arr[j + 1]) { 32 int temp = arr[j + 1]; 33 arr[j + 1] = arr[j]; 34 arr[j] = temp; 35 } 36 } 37 } 38 return arr; 39 } 40 41 }