算法学习三、Java选择排序算法



package com.shyy.algorithms;  
  
/** 
 * 选择排序算法学习  
 * 原理:寻找比自己最小或者最大的数来调换位置 
 * 缺点:不稳定,排序特点复杂 
 * 优点:比冒泡排序快 
 * @author shuYangYang 
 * @email:shuyangyang@aliyun.com 
 * @website:www.shuyangyang.com.cn 
 */  
public class SelectionSort {  
  
    public static void main(String[] args) {  
        int array[] = { 23, 15, 65, 33, 72, 18, 99, 45 };  
        selectionSort(array);  
        System.out.print("排序的最终结果是:");  
        for (int i = 0; i < array.length; i++) {  
            System.out.print(array[i] + "t");  
        }  
    }  
  
    /** 
     * 选择排序算法 
     * @param array 
     */  
    public static void selectionSort(int[] array) {  
        int minIndex = 0;  
        int temp = 0;  
        //如果数组中没有任何数据则不处理  
        if (array == null || array.length == 0) {  
            return;  
        }  
        //控制比较的轮数  
        for (int i = 0; i < array.length; i++) {  
            minIndex = i;  
            //控制比较的次数,对比数据比自己小的来标记下标.+1表示从第后面一个开始  
            for (int j = i + 1; j < array.length; j++) {  
                if (array[j] < array[minIndex]) {  
                    minIndex = j;  
                }  
            }  
            //交换位置  
            if (minIndex != array[i]) {  
                temp = array[i];  
                array[i] = array[minIndex];  
                array[minIndex] = temp;  
            }  
        }  
    }  
}  

 w6m思考者日记网-束洋洋个人博客

 

(转载本站文章请注明作者和出处 思考者日记网|束洋洋个人博客 ,请勿用于任何商业用途)

『访问 思考者日记网404页面 寻找遗失儿童』

告知
  •     本站90%以上文章均属原创,部分转载已加上原作者出处。 如需转载本站文章请您务必保留本站出处!
  •     打广告评论者请自重,请为广大网友提供一个健康干净的网络空间。
  •  感谢主机屋提供网站空间;
  •  感谢万网阿里云提供域名解析;
  •  感谢EmpireCMS提供CMS系统;
  •  感谢bootstrap展示本站前端页面;
  •  感谢Glyphicons Halflings提供字体;
  •  感谢大家一直以来对本站的喜爱,感谢大家!
近期文章 建议与反馈