回顾一下几种排序方法和思想

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/fox9916/article/details/79458019
package com.example.demo;

/**
 * Created by Administrator on 2018/3/6.
 */
public class Test2 {
    /**
     * 冒泡排序:依次比较相邻两个元素,通过一次比较把未排序序列中最小或最大的移动到最首位或末位
     * @param arr
     * @return
     */
    public static int[] sort1(int[] arr){
        if(arr.length>0){
            for (int i = 0;  i < arr.length-1;  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;
                   }
                }
            }
        }
        return arr;
    }

    /**
     * 选择排序:每一次从未排序序列中选出最小或最大的一个放在已经排好序列的首位或末位,直到全部未排序序列排完
     * @param arr
     * @return
     */
    public static int[] sort2(int[] arr){
        if(arr.length>0){
            for (int i = 0; i <arr.length-1; i++) {
              int  minval=arr[i];
                for (int j = i+1; j < arr.length; j++) {
                    if(arr[i]>arr[j]){
                        minval=arr[j];
                        arr[j]=arr[i];
                        arr[i]=minval;
                    }
                }
            }
        }

        return arr;
    }
    public static void main(String[] args) {
        int[] arr={11,9,2,13,10,100,23,4};
        int[] re=Test2.sort2(arr);
        for (int i = 0; i < re.length; i++) {
            System.out.print(re[i]+",");
        }
    }
}

猜你喜欢

转载自blog.csdn.net/fox9916/article/details/79458019