题解 | #冒泡排序#

冒泡排序

http://www.nowcoder.com/practice/83ef53227d654df28c18fd6a377e8fee

冒泡排序

boolean flag;
for(int i=0; i<arr.length-1; i++){
  flag = true;
  for(int j=0; j<arr.length-i-1; j++){
    if(arr[j] > arr[j+1]){
      //a=a+b-(b=a); 交换
      arr[j] = arr[j] +arr[j+1] - (arr[j+1] = arr[j]);
      flag = false;
    }
  }
  //如果本次没有进行交换,则代表已经有序,提前结束
  if(flag) break;
}

交换方式二,异或:

if(arr[j] > arr[j+1]){        
  arr[j] =  arr[j] ^ arr[j+1];
  arr[j+1] = arr[j] ^ arr[j+1];
  arr[j] = arr[j+1] ^ arr[j];
}

全部评论

相关推荐

程序员小白条:主要没亮点,项目也是网上的,平平无奇,那只能海投了,奖项总得有一些,然后就是现在最好是前后端都会,自己能做项目并且运维的,要么找星球项目改改,要么找个开源项目改改,自己能拓展功能才是主要的,跟做效率很低很低
点赞 评论 收藏
分享
07-23 14:04
东北大学 C++
既然这样,为什么不点击就送呢
牛马88号:因为你合适。但有很多笔试就挂了、通过了再排序的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务