几种排序

 

  排序这里讲解这些

  1. 选择排序
  2. 冒泡排序

 

 

 

  一、选择排序

  选择排序,其实就是把第一个元素和后面的一个一个进行比较,把最大或者最小的移动到前面,类似于下图,我简单了画了一下。

  接下来,代码如下:

package com.company;

public class Main {


    public static void main(String[] args) {
        System.out.println("大家好,我是Vae");

        int  [] arr ={16,45,20,2,6};
        System.out.println("排序前的数组");
        PrintArray(arr);
        System.out.println("排序后的数组");
        SelectSort(arr);
        PrintArray(arr);

    }

    public static  void PrintArray(int[] arr){
        for (int i = 0; i <arr.length ; i++) {
            if (i != arr.length-1) {
                System.out.print(arr[i]+",");
            }
            else
                System.out.println(arr[i]);
        }
    }

    public static  void SelectSort(int [] arr)
    {
        for (int i = 0; i < arr.length-1; i++) {
            for (int j = i+1; j < arr.length; j++) {
                if (arr[i] > arr[j]) {
                    int temp=arr[i];
                    arr[i]=arr[j];
                    arr[j]=temp;
                }
            }
        }

    }

}

重点就在于SelectSort这个方法,我写的默认是从小到大进行排序。输出结果如下:

选择排序,就是这样了。

 

  二、冒泡排序

  冒泡排序就是像水泡冒出水面一样,越来越大,冒泡排序,就是最大或者最小的放到最后,然后依次这样交换,如下图:

代码只放冒泡排序的了:

 //冒泡排序
    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 temp=arr[j];
                    arr[j]=arr[j+1];
                    arr[j+1]=temp;
                }
            }
        }

    }

 

posted @ 2018-10-07 14:21  蜀云泉  阅读(146)  评论(0编辑  收藏  举报