zoukankan      html  css  js  c++  java
  • 排序算法之选择排序的思想以及Java实现

    1 基本思想
    选择排序的思想是,每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。

    2,算法的实现(Java)

    package Algorithm;
    
    public class SelectSort {
    
        /**
         * @param args
         */
        public static void main(String[] args) {
            int[] data = new int[] {11,10,55,78,100,111,45,56,79,90,345,1000};
            System.out.println("排序之前:");
            out_put.output(data);
            System.out.println();
            System.out.println("排序之后:");
            SelectSort.select_sort(data);
            out_put.output(data);
        }
    
        public static void select_sort(int[] arr){
            if(arr == null || arr.length < 2){
                return;
            }   
            int index;//定义下标
            for(int i=0;i<arr.length;i++){
                index = i;//初始下标为i
                for(int j=i+1;j<arr.length;j++){
                    if(arr[j]<arr[index]){
                        index = j;
                    }
                }
                if(index != i){
                    int temp = arr[index];
                    arr[index] = arr[i];
                    arr[i] = temp;
                }
            }
        }
    }

    得到的结果为:
    这里写图片描述

    3 性能分析
    选择排序的时间复杂度为O(n^2),由于每次选择仅考虑某一位置上的数据情况,可能会破坏之前数据的相对位置,因此它是一种不稳定的排序方法。

  • 相关阅读:
    这不是线性表
    定义线性表
    这不是线性表
    API函数的参数
    定义线性表
    [原创 js] 自定义页面功能
    YUI3 学习笔记(1) 
    YUI3学习笔记 ( 2 )
    含有变量的正则表达式使用方法
    YUI3学习笔记 ( 3 )
  • 原文地址:https://www.cnblogs.com/cmderq/p/9130853.html
Copyright © 2011-2022 走看看