码迷,mamicode.com
首页 > 其他好文 > 详细

某支付公司笔试题二

时间:2014-05-03 22:00:56      阅读:277      评论:0      收藏:0      [点我收藏+]

标签:排序   选择排序   冒泡排序   

题目:用java编写一段程序采用选择排序法对数组array = {25,15,42,16,12,36}进行由小到大排序。

1、选择排序法

该排序法的思想是每次从当前元素开始往后查找最小元素,将最小与当前元素进行位置互换。选择排序和冒泡排序相比优势在于交换次数减少。

    // 时间复杂度n(n-1)/2,即O(n^2)
    public static void selectSort(int[] array){
        int k,tmp,len;
        len=array.length;
        for(int i=0;i<len;i++){
            k=i;
            for(int j=i+1;j<len;j++){
                if(array[j]<array[k]){
                    k=j;
                }
            }
            
            if(k!=i){
                tmp=array[i];
                array[i]=array[k];
                array[k]=tmp;
            }   
        }
    }

2、冒泡排序法

该排序法的思想是每一轮排序都是将相邻两个元素做比较,经过n轮比较,值小的元素逐渐前移,就像水底的泡泡不断上浮一样。

// 时间复杂度n(n-1)/2,即O(n^2)
    public static void bubbleSort(int[] array) {
        int tmp;
        if(array.length<2){
            return;
        }
        for(int i=0;i<array.length-1;i++){
            for(int j=0;j<array.length-1-i;j++){
                if(array[j]>array[j+1]){
                    tmp = array[j];
                    array[j]=array[j+1];
                    array[j+1]=tmp;
                }
            }
        }
    }


某支付公司笔试题二,布布扣,bubuko.com

某支付公司笔试题二

标签:排序   选择排序   冒泡排序   

原文地址:http://blog.csdn.net/dotnetstudio/article/details/24795325

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