zoukankan      html  css  js  c++  java
  • 选择排序

    选择排序思想:

    选择排序(select sorting) 也是一种简单的排序方法。它的基本思想是:第一次从arr[0]^ arr[n-1]中选取最小值,与arr[0]交换,第二次从arr[1]* ararrln-1]中选取最小值,与arr[1]交换,第三决从arr[2] arr[n-1]中选取最小值,与arr[2]交换,第i次从arr[i-1]^ arr[n-1]中选取最小值,与arr[i-1]交换,第n-1次从arr[n-2]^ arr[n-1]中选取最小值,与arr[n-2]交换,总共通过n-1次,得到一个按排序码从小到大排列的有序序列。

    思路:

    代码实现(普通方法与打擂台算法):

    import java.util.Arrays;
    public class Test02_选择排序 {
        public static void main(String[] args) {
            int[] arr = {3,1,6,2,5};
            Sort(arr);
            //SelectSort(arr);
            System.out.println("数组排序后的结果为:"+Arrays.toString(arr));
        }
        //普通方法实现选择排序
        public static void Sort(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;
                        temp = arr[i];
                        arr[i] = arr[j];
                        arr[j] = temp;
                    }
                }
            }
        }
        //打擂台实现选择排序
        public static void SelectSort(int[] arr){
            for (int i=0;i<arr.length-1;i++){
                int maxIndex = i;//假设第一个元素是擂主
                for (int j=i+1;j<arr.length;j++){//j+1是因为从第二个元素开始比较,因为第个值默认是最大
                    if(arr[j] > arr[maxIndex]){
                        maxIndex = j;//擂主易主
                    }
                }
                if ( maxIndex != i ){//如果擂主不是先前的
                    int temp;
                    temp = arr[i];
                    arr[i] = arr[maxIndex];
                    arr[maxIndex] = temp;
                }
            }
        }
    }
  • 相关阅读:
    拦截器的配置和执行流程
    Restful风格数据获取
    layer弹窗插件官网
    HTTP知识1
    解决Navicat for MySQL 连接 Mysql 8.0.11 出现1251- Client does not support authentication protocol 错误
    MySQL8.0以上版本的安装与配置——详细教程
    python 练习题1(set 和len组合使用)
    性能测试基础知识1
    linux下配置python3详解
    ckplayer、swfobject的简单应用
  • 原文地址:https://www.cnblogs.com/zhangzhixi/p/13653221.html
Copyright © 2011-2022 走看看