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);
        }
  • 相关阅读:
    POJ1806 Manhattan 2025
    POJ1258 AgriNet【最小生成树】
    POJ1789 Truck History【最小生成树】【终于AC了】
    memset的用法
    HDOJ1106 排序
    POJ2965
    414某OJ竞赛题
    HDOJ1745 I hate it【线段树】
    HDOJ2795 Billboard【线段树】
    蓝桥杯o(︶︿︶)o 唉
  • 原文地址:https://www.cnblogs.com/shapeOfMyHeart/p/6551476.html
Copyright © 2011-2022 走看看