内排序-简单选择排序

Posted mytrip

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了内排序-简单选择排序相关的知识,希望对你有一定的参考价值。

算法思想:  每次从序列 (i=0.1.2.......n-1) 中选出一个i值作为最大或者最小值如此下去完成排序,具体做法是假定,i是最小或最大,再和i+1 .....n-1的值比较,以确定最大或者最小的序号,而后交换他们的值。

package Sort;

public class SelectSort
{
    public static void main(String[] args)
    {

        int[] a = new int[] { 20, 30, 90, 40, 70, 110, 60, 10, 100, 50, 80, 1, 2 };
        SelectSort selectsort = new SelectSort();
        selectsort.Sort(a);
        
        for (int t : a)
            System.out.println(t);
    }

    void ExchangeData(int[] datas, int index1, int index2)
    {
        datas[index1]=  datas[index1]+datas[index2];
         
         datas[index2]=  datas[index1]-datas[index2];
         
         datas[index1]=  datas[index1]-datas[index2];
    }

    public void Sort(int[] array)
    {
        int n=array.length;
        int min_index=0;
        for(int i=0;i<n;i++)
        {
            min_index=i;
            for(int j=min_index+1;j<n;j++)
            {
                if(array[j]<array[min_index])
                {
                    min_index=j;                    
                }
            }
            ExchangeData(array,i,min_index);            
            
        }
        
    }

}

 

以上是关于内排序-简单选择排序的主要内容,如果未能解决你的问题,请参考以下文章

七大排序算法分析及java实现

数据结构之简单排序的三种玩法

算法排序选择排序

排序——总结

选择排序(简单选择排序堆排序的算法思想及代码实现)

基础数据结构——八大排序详解