首页 > 代码库 > 排序算法
排序算法
冒泡排序
用二重循环实现冒泡排序
int[] nums = {4,5,7,4,2}; for (int i=0;i<nums.length-1;i++){ for (int j=0;j<nums.length-1-i;j++){ if (nums[j]>nums[j+1]){ int temp = nums[j]; nums[j] = nums[j+1]; nums[j+1] = temp; } } } for (int num:nums){ System.out.print(num); }
速记口诀:
N个数字类排队
两两相比小靠前
外层循环N-1
内层循环N-1-i
共比较次数: n(n-1)/2
直接插入排序
int [] data = http://www.mamicode.com/{23,45,16,7,42}; for (int i=1; i<data.length; i++){ int currentData =http://www.mamicode.com/ data[i]; int temp = i; while (temp>0 && data[temp-1]>currentData){ //前一位大于后一位,前一位元素赋值给后一位 data[temp] = data[temp-1]; temp --; } data[temp] = currentData; //交换数据 }
排序算法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。