冒泡排序、选择排序、插入排序

冒泡排序、选择排序、插入排序的实现

 1 package helloworld;
 2 
 3 public class Main {
 4 
 5     public static void main(String[] args) {
 6         int[] a = { 11, 45, 44, 88, 22, 15, 9 };
 7         int temp = 0;
 8         for (int i = 0; i < a.length - 1; i++) {
 9             for (int j = 0; j < a.length - 1 - i; j++)// j开始等于0,
10             {
11                 if (a[j] > a[j + 1]) {
12                     temp = a[j];
13                     a[j] = a[j + 1];
14                     a[j + 1] = temp;
15                 }
16             }
17         }
18         System.out.print("冒泡排序:");
19         for (int i = 0; i < a.length; i++) {
20             System.out.print(a[i] + " ");
21         }
22         System.out.println();
23 
24         // 效率高于冒泡
25         int[] arr = { 11, 45, 44, 88, 22, 15, 9 };
26         int k = 0;
27         int tmp = 0;
28         for (int i = 0; i < arr.length - 1; i++) {
29             k = i;
30             for (int j = i; j < arr.length; j++) {
31                 if (arr[j] < arr[k]) {
32                     k = j;
33                 }
34             }
35             tmp = arr[i];
36             arr[i] = arr[k];
37             arr[k] = tmp;
38         }
39         System.out.print("选择排序:");
40         for (int i = 0; i < arr.length; i++) {
41             System.out.print(arr[i] + " ");
42         }
43         System.out.println();
44 
45         //空间复杂度O(1)、时间复杂度O(n2) 
46         int[] c = { 11, 45, 44, 88, 22, 15, 9 };
47         int target;
48         for (int i = 1; i < c.length; i++) {
49             int j = i;
50             target = c[i];
51             while (j > 0 && target < c[j - 1]) {
52                 c[j] = c[j - 1];
53                 j--;
54             }
55             c[j] = target;
56         }
57         System.out.print("插入排序:");
58         for (int i = 0; i < c.length; i++) {
59             System.out.print(c[i] + " ");
60         }
61     }
62 }

运行结果:

冒泡排序:9 11 15 22 44 45 88 
选择排序:9 11 15 22 44 45 88 
插入排序:9 11 15 22 44 45 88 

猜你喜欢

转载自www.cnblogs.com/lhns/p/9132438.html