码迷,mamicode.com
首页 > 编程语言 > 详细

排序算法

时间:2017-06-19 00:29:18      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:冒泡   int   data   amp   个数   log   赋值   比较   插入   

冒泡排序
用二重循环实现冒泡排序

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 = {23,45,16,7,42};
for (int i=1; i<data.length; i++){
  int currentData = data[i];
  int temp = i;
  while (temp>0 && data[temp-1]>currentData){
    //前一位大于后一位,前一位元素赋值给后一位
    data[temp] = data[temp-1];
    temp --;
  }
  data[temp] = currentData; //交换数据
}

 

排序算法

标签:冒泡   int   data   amp   个数   log   赋值   比较   插入   

原文地址:http://www.cnblogs.com/sjmbug/p/7045821.html

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