经典排序算法-冒泡与选择

1 冒泡排序的思想类似气泡上升,数组前后元素两两比较,如果前面的元素比后面的大就交换位置,每趟排序都可以确定最大值的位置

2 选择排序思想类似打擂台,每趟比较都把最小的值排在数组最前面,每趟比较都可以确定最小值的位置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
public class SortTest {
    public static void main(String[] args) {
        //选择排序
        int arr[] = {2,9,10,5,4,8,7,1,3,6};
        choose(arr);
        System.out.println();
 
        //冒泡排序
        int arr2[] = {2,9,10,5,4,8,7,1,3,6};
        bubble(arr2);
    }
    /**
     * 选择排序
     * @param arr
     */
    public static void choose(int arr[]){
 
        for(int i=0;i<arr.length;i++){
 
            for(int j=i+1;j<arr.length;j++){
 
                //每次都将最小的值放在最前面
                if(arr[i]>arr[j]){
 
                    int temp = arr[j];
 
                    arr[j] = arr[i];
 
                    arr[i] = temp;
                }
 
            }
        }
 
        for(int a:arr){
            System.out.print(a+" ");
        }
    }
 
    /**
     * 冒泡排序
     */
    public static void bubble(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 temp = arr[j];
 
                    arr[j] = arr[j+1];
 
                    arr[j+1] = temp;
                }
            }
        }
        for(int a:arr){
 
            System.out.print(a+" ");
        }
    }
}<br><br>程序运行结果为:<br>1 2 3 4 5 6 7 8 9 10<br>1 2 3 4 5 6 7 8 9 10

  

posted @ 2017-07-06 00:27  notejava  阅读(201)  评论(0)    收藏  举报
点击右上角即可分享
微信分享提示