Java教程

算法--排序

本文主要是介绍算法--排序,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
import java.util.Arrays;

public class MySort {
    public static void main(String[] args) {
        selectSort();
        bubbleSort();
    }

    /**
     * 冒泡排序
     * 两层循环,第一层是对每一个位置赋值最值,第二层是比较交换
     */
    private static void bubbleSort() {
        int[] data = {180, 4, 56, 777, 3, -1, 8, 23};
        for (int d = 0; d < data.length; d++) {
            for (int i = d; i < data.length; i++) {
                if(data[i] <= data[d]){
                    //交换
                    int temp = data[i];
                    data[i] = data[d];
                    data[d] = temp;
                }
            }
        }
        System.out.println(Arrays.toString(data));
    }

    /**
     * 选择排序
     * 两层循环,第一层是对每一个位置赋值最值,第二层是找最值
     */
    private static void selectSort() {
        int[] data = {180, 4, 56, 777, 3, -1, 8, 23};
        for (int i = 0; i < data.length; i++) {
            int min = data[i];
            int pos = i;
            for (int j = i; j < data.length; j++) {
                //find min
                if(data[j] <= min){
                    min = data[j];
                    pos = j;
                }
            }
            //交换
            int temp = data[i];
            data[i] = min;
            data[pos] = temp;
        }
        System.out.println(Arrays.toString(data));
    }
}
这篇关于算法--排序的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!