zoukankan      html  css  js  c++  java
  • 排序算法

        public static void swep(Integer[] data, int i, int j){
            int temp = data[i];
            data[i] = data[j];
            data[j] = temp;
        }

    1.冒泡排序

            Integer[] data = {6, 3, 1, 5, 7, 9, 0, 2, 8};
            for (int i = 0; i < data.length ; i++ ) {
                for (int j = 1; j < data.length-i; j++ ) {
                    if(data[j-1] > data[j]){
                        swep(data, j-1, j);
                    }
                }
            }

    2.选择排序(先找出最小的index,跟第一个交换, 再从第2个后找出最小,跟第2个交换..依次类推)

            Integer[] data = {6, 3, 1, 5, 7, 9, 0, 2, 8};
            
            for (int i = 0; i < data.length ; i++ ) {
                int min = i;
                for (int j = i+1; j < data.length; j++ ) {
                    
                    if(data[min] > data[j]){
                        min = j;
                    }
                }
                swep(data, min, i);
            }

    3.直接插入排序(首先第一个元素肯定是有序的,然后让第2个跟第一个比较后形成有序的2个元素,然后让第3个跟前面有序的2个元素比较形成有序的3个元素..依次类推)

    public static void insertionSort(){
            int o = 0;
            for (int i = 1; i < data.length; i++) {
                for (int j = i; j > 0; j--) {
                    if(data[j-1] > data[j]){
                        swep(data, j-1, j);
                        ++o;
                    }
                }
            }
            System.out.println("复杂度为:"+o);
        }
  • 相关阅读:
    linux命令(一)
    Maven 打包不同环境
    Spring动态代理
    Spring MVC controller方法和jstl
    logback的使用
    从文本导入导出
    将临时全局表中的符合字段导入test数据库中
    将上传的新表导入临时全局表中
    建立临时表导入
    查询统计表以及删除表
  • 原文地址:https://www.cnblogs.com/shapeOfMyHeart/p/6551476.html
Copyright © 2011-2022 走看看