首页 > 代码库 > 某支付公司笔试题二
某支付公司笔试题二
题目:用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; } } } }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。