首页 > 其他 > 详细

Java 基本排序算法

时间:2014-02-27 09:48:28      阅读:358      评论:0      收藏:0      [点我收藏+]
  1. 冒泡排序

     该算法允许起来非常慢,但在概念上它是排序算法中最简单的,因此冒泡排序算法在刚开始研究排序技术时是一个非常好的算法。

  

bubuko.com,布布扣
int[] array = {3,5,8,11,99,33,77,66,100,1,32,29};
        int temp;

        //冒泡排序:由于比较的是相邻元素,所以最后一个元素可看作无相邻元素
        for (int i = 0, len = array.length; i < len - 1; i++) {
            for (int j = i + 1; j < len; j++) {
                if (array[i] > array[j]) {

                    temp = array[j];
                    array[j] = array[i];
                    array[i] = temp;
                }
            }
        }
bubuko.com,布布扣

  2.  选择排序

      通过保存下标值,每次查找最小元素放到最左边

 

bubuko.com,布布扣
int[] array = {3,5,8,11,99,33,77,66,100,1,32,29};
        int temp;
    
        //选择排序,每次都查找最小值
        for(int i = 0,len = array.length;i<len-1;i++){        
            int min = i;
            for(int j = i+1;j<len;j++){            
                if(array[min]>array[j]){
                    
                    min = j;
                }
            }
            if(min != i){
                temp = array[i];
                array[i] = array[min];
                array[min] = temp;
            }
        }
bubuko.com,布布扣

  3.  插入排序

      插入排序,是基本排序算法中最好的一种;一般情况下,要比冒泡排序快一倍,选择排序快上一些。

  

bubuko.com,布布扣
        int[] array = {3,5,8,11,99,33,77,66,100,1,32,29};
        int temp;
        
        //插入排序,外层向右移动,内层向左排序
        //外层每向右移动一个元素,就意味增加一个元素到内层进行排列
        //由于内层想左,所以必须大于0
        for(int i = 1,len = array.length;i<len;i++){
            for(int j=i;j>0;j--){
                if(array[j]<array[j-1]){
                    temp = array[j-1];
                    array[j-1] = array[j];
                    array[j] = temp;
                }            
            }    
        }
        
bubuko.com,布布扣

Java 基本排序算法,布布扣,bubuko.com

Java 基本排序算法

原文:http://www.cnblogs.com/bradylin/p/3569244.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!