码迷,mamicode.com
首页 > 编程语言 > 详细

内排序-简单选择排序

时间:2018-08-20 01:08:09      阅读:115      评论:0      收藏:0      [点我收藏+]

标签:简单   select   sel   change   main   rgs   算法   col   最小值   

算法思想:  每次从序列 (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);            
            
        }
        
    }

}

 

内排序-简单选择排序

标签:简单   select   sel   change   main   rgs   算法   col   最小值   

原文地址:https://www.cnblogs.com/mytrip/p/9478280.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!