冒泡排序就是依次取出最大数,然后依次交换放到数组最后边。

直观写法:

public long[] sort(long[] a){

        int n = a.length - 1;
// Step:1 选出最大数
for(int i = 0 ; i < n; i++){
// 如果前一个数大于后一个数则交换
if(a[i] > a[i+1]){
a[i] = a[i] ^ a[i+1];
a[i+1] = a[i+1] ^ a[i];
a[i] = a[i] ^ a[i+1];
}
}
n--;
// Step:2 选出第二大数
for(int i = 0 ; i < n; i++){
// 如果前一个数大于后一个数则交换
if(a[i] > a[i+1]){
a[i] = a[i] ^ a[i+1];
a[i+1] = a[i+1] ^ a[i];
a[i] = a[i] ^ a[i+1];
}
}
n--;
// Step:3
for(int i = 0 ; i < n; i++){
// 如果前一个数大于后一个数则交换
if(a[i] > a[i+1]){
a[i] = a[i] ^ a[i+1];
a[i+1] = a[i+1] ^ a[i];
a[i] = a[i] ^ a[i+1];
}
}
n--;
// Step:4
for(int i = 0 ; i < n; i++){
// 如果前一个数大于后一个数则交换
if(a[i] > a[i+1]){
a[i] = a[i] ^ a[i+1];
a[i+1] = a[i+1] ^ a[i];
a[i] = a[i] ^ a[i+1];
}
}
n--;
System.out.println("n=" + n);
// Step:5
for(int i = 0 ; i < n; i++){
// 如果前一个数大于后一个数则交换
if(a[i] > a[i+1]){
a[i] = a[i] ^ a[i+1];
a[i+1] = a[i+1] ^ a[i];
a[i] = a[i] ^ a[i+1];
}
}
n--;
return a;
}

加个for循环:

public long[] sort(long[] a){

        int n = a.length - 1;
for(int j = 0 ; j < a.length ; j++){
for(int i = 0 ; i < n; i++){
// 如果前一个数大于后一个数则交换
if(a[i] > a[i+1]){
a[i] = a[i] ^ a[i+1];
a[i+1] = a[i+1] ^ a[i];
a[i] = a[i] ^ a[i+1];
}
}
n--;
}
return a;
}

冒泡排序java代码的更多相关文章

  1. 常见的排序算法之Java代码解释

    一 简要介绍 一般排序均值的是将一个已经无序的序列数据重新排列成有序的 常见的排序分为: 1 插入类排序 主要就是对于一个已经有序的序列中,插入一个新的记录.它包括:直接插入排序,折半插入排序和希尔排 ...

  2. java 代码

    java 里的 pandas tablesaw DataFrame 再有就是 spark 了 java 代码规范 Java8特性详解 lambda表达式 Stream Sonar 规则检测 sprin ...

  3. 专题 查找与排序的Java代码实现(一)

    专题 查找与排序的Java代码实现(一) 查找(Searching) 线性查找(linear search) 属于无序查找算法,适合于存储结构为顺序存储或链接存储的线性表. 基本思想:从数据结构线形表 ...

  4. Bubble(冒泡排序)————Java

    用Java进行冒泡排序的代码,利用一个flag进行优化算法: import java.util.Scanner; public class Bubble_Sort { private static i ...

  5. 十大经典排序算法最强总结(含JAVA代码实现)(转)

    十大经典排序算法最强总结(含JAVA代码实现)   最近几天在研究排序算法,看了很多博客,发现网上有的文章中对排序算法解释的并不是很透彻,而且有很多代码都是错误的,例如有的文章中在“桶排序”算法中对每 ...

  6. 第二章:排序算法 及其他 Java代码实现

    目录 第二章:排序算法 及其他 Java代码实现 插入排序 归并排序 选择排序算法 冒泡排序 查找算法 习题 2.3.7 第二章:排序算法 及其他 Java代码实现 --算法导论(Introducti ...

  7. 对一致性Hash算法,Java代码实现的深入研究

    一致性Hash算法 关于一致性Hash算法,在我之前的博文中已经有多次提到了,MemCache超详细解读一文中"一致性Hash算法"部分,对于为什么要使用一致性Hash算法.一致性 ...

  8. 怎样编写高质量的java代码

    代码质量概述     怎样辨别一个项目代码写得好还是坏?优秀的代码和腐化的代码区别在哪里?怎么让自己写的代码既漂亮又有生命力?接下来将对代码质量的问题进行一些粗略的介绍.也请有过代码质量相关经验的朋友 ...

  9. 数据结构笔记--二叉查找树概述以及java代码实现

    一些概念: 二叉查找树的重要性质:对于树中的每一个节点X,它的左子树任一节点的值均小于X,右子树上任意节点的值均大于X. 二叉查找树是java的TreeSet和TreeMap类实现的基础. 由于树的递 ...

随机推荐

  1. linux下配置ssledge代理服务器

    ssl edge 是一个非常好用的VPN/proxy, 比云梯 稳定快速的多.  在LINUX下开发 Titanium 需要用到各种FQ,所以它是必备工具. 1. 根据自己付费后的用户名和密码,下载 ...

  2. NYOJ 737 石子合并(一)

    分析: 本题为区间型动态规划,dp[i][j] 表示从第 i 堆合并到第 j 堆的最小代价, sum[i][i] 表示第 i 堆到第 j 堆的石子总和,则动态转移方程: dp[i][j] = min( ...

  3. 数据库优化之锁表查询 (Sql Server)

    查询锁表语句 select request_session_id spid,DB_NAME(resource_database_id) databaseName, OBJECT_NAME(resour ...

  4. Bookstore project using XAMPP 详细配置 Part 2

    2. Implementation of MySQL database in “phpMyAdmin” 1) Create database named “tbl_book” 2) I changed ...

  5. [leetcode 25]Reverse Nodes in k-Group

    1 题目: Given a linked list, reverse the nodes of a linked list k at a time and return its modified li ...

  6. sql 优化 链接提示 查询提示 标提示

    SQL Server的查询优化器在select查询执行的时候产生一个高效的查询执行计划.如果优化器不能选择最优的计划,那么就需要检查查询计划.统计信息.支持的索引等,而通过使用提示可以改变优化器选择查 ...

  7. Replication的犄角旮旯(四)--关于事务复制的监控

    <Replication的犄角旮旯>系列导读 Replication的犄角旮旯(一)--变更订阅端表名的应用场景 Replication的犄角旮旯(二)--寻找订阅端丢失的记录 Repli ...

  8. 微软再次要求Google审查官方链接 称将进行调查

    之前代表微软向Google发出DMCA删除通知的反盗版公司再次要求Google审查Microsoft.com官网链接.微软对此表示将进行调查,已经要求反盗版公司停止以微软的名义发出DMCA通知. 仅仅 ...

  9. Html5 舞动的雨伞

    HMTL5的学习断断续续,方法不用又生疏了,昨天做的一个雨伞的Demo,先看看效果 主要是运用了中心点变换和旋转两个方法.不同的动画用定时器控制, 下面是全部代码: <canvas id=&qu ...

  10. WKInterfaceImage 无法更新图片的问题

    最近涉及到AppleWatch的相关项目,但有个奇怪问题无法解决,而且无法理解: 根据不同的用户操作,需要修改播放器的专辑图片. 不知道跟我的项目需求是不是有关系:我需要轮询共享空间,以拿取同步数据, ...