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

    package foo;
    
    import java.util.Arrays;
    
    public class Main {
        
        public static void selectionSort(int[] a, int len) {
            int in, out, min;
            for (out=0;out<len-1;++out) {
                min = out;
                for (in=out+1;in<len;++in) {
                    if(a[in]<a[min]) {
                        min = in;
                    }
                }
                swap(a, out, min);
            }
        }
        
        public static void swap(int[] a, int index1, int index2) {
            int temp = a[index1];
            a[index1] = a[index2];
            a[index2] = temp;
        }
        
        public static void main(String[] args) throws Exception {
            int[] a = new int[]{3,2,1,5,4};
            selectionSort(a, a.length);
            System.out.println(Arrays.toString(a));
        }
    }

    选择排序的效率:O(N*N),比较N*N/2,交换<N; 选择排序与冒泡排序比较,比较次数没有明显改变,但交换次数明显减少了很多

  • 相关阅读:
    Java 窗口 绘制图形 #1
    支配树
    Tarjan算法
    Baby-step giant-step算法
    初等群论
    第七次java作业
    学习所用的开发环境
    第六次java作业
    第五次java作业
    第四次java作业
  • 原文地址:https://www.cnblogs.com/qrlozte/p/3793251.html
Copyright © 2011-2022 走看看