/**

* java编程题:用Java实现一个冒泡排序算法

*/

public class Test12 {

public static void main(String[] args) {

int[] sortNum = {12,33,28,86,15,62,9,38};//定义数组

bubbleSort3(sortNum);//开始排序

System.out.println(Arrays.toString(sortNum));//打印结果

}

/**

* 写法一:从小到大顺序进行排列,从[前面]开始比较。。。容易理解。

*

* @param sortNum

*/

private static void bubbleSort(int[] sortNum){

int temp = 0;

for (int i = 0; i < sortNum.length-1; i++) {//第一个for循环控制排序要走多少趟,最多做n-1趟排序

for (int j = 0; j < sortNum.length-1-i; j++) {//第2个for循环控制每趟比较多少次

if(sortNum[j+1]

temp = sortNum[j];

sortNum[j] = sortNum[j+1];

sortNum[j+1] = temp;

}

}

}

}

/**

* 写法二:从小到大顺序进行排列,从[后面]开始比较。。。不按常规套路出牌。

*

* @param sortNum

*/

private static void bubbleSort2(int[] sortNum){

int temp = 0;

for (int i = 0; i < sortNum.length-1; i++) {//第一个for循环控制排序要走多少趟,最多做n-1趟排序

for (int j = sortNum.length-1; j > i; j--) {//第2个for循环控制每趟比较多少次

if(sortNum[j-1]>sortNum[j]){//大的往后面排

temp = sortNum[j-1];

sortNum[j-1] = sortNum[j];

sortNum[j] = temp;

}

}

}

}

/**

* 写法三:从小到大顺序进行排列,从[前面]开始比较。。。改进优化版。

*

* @param sortNum

*/

private static void bubbleSort3(int[] sortNum){

boolean flag = true;

while(flag){

flag = false;

int temp = 0;

for (int i = 0; i < sortNum.length-1; i++) {//第一个for循环控制排序要走多少趟,最多做n-1趟排序

for (int j = 0; j < sortNum.length-1-i; j++) {//第2个for循环控制每趟比较多少次

if(sortNum[j+1]

temp = sortNum[j];

sortNum[j] = sortNum[j+1];

sortNum[j+1] = temp;

flag = true;

}

}

//优化判断

if(!flag){// 若没有交换则排序完成,直接跳出

break;

}

}

}

}

}

打印结果:

[9, 12, 15, 28, 33, 38, 62, 86]

参考地址:

http://www.cnblogs.com/shen-hua/p/5422676.html

http://blog.csdn.net/donggua3694857/article/details/56959553

http://blog.csdn.net/ouyang_peng/article/details/46540497

http://blog.csdn.net/jq_ak47/article/details/46743613

http://blog.csdn.net/feng2qing/article/details/53860685

http://blog.csdn.net/qy1387/article/details/7752973

java里冒泡排序编程案例_java编程题:用Java实现一个冒泡排序算法相关推荐

  1. java 打印一棵树_java编程题之从上往下打印出二叉树

    本文实例为大家分享了java从上往下打印出二叉树的具体代码,供大家参考,具体内容如下 import java.util.ArrayList; import java.util.Stack; /** * ...

  2. java最全基础知识_Java编程入门,计数排序(Counting Sort)怎么做?

    计数排序的核心在于将输入的数据值转化为键存储在额外开辟的数组空间中. 作为一种线性时间复杂度的排序,计数排序要求输入的数据必须是有确定范围的整数. 计数排序(Counting sort)是一种稳定的排 ...

  3. java最全基础知识_Java编程入门,选择排序(Selection Sort)怎么做?

    表现最稳定的排序算法之一,因为无论什么数据进去都是O(n2)的时间复杂度,所以用到它的时候,数据规模越小越好.唯一的好处可能就是不占用额外的内存空间了吧.理论上讲,选择排序可能也是平时排序一般人想到的 ...

  4. java编程测试题_Java编程测试可帮助您评估求职者

    java编程测试题 Sometimes back one of my good friend asked me to assess few job candidates for Java progra ...

  5. java面向字符的输入流_Java编程开发中面向字节的输入输出流

    关于面向字符的输入流和输出流方面教程已经讲解完了,下面要介绍的就是Java编程开发中面向字节的输入输出流,希望本节内容可以帮助大家更好的学习Java. 教程回顾点击查看: 字节流以字节为传输单位,用来 ...

  6. java编程 问题_Java编程常见问题汇总

    Java编程常见问题汇总 在我们写Java程序的过程中,其实里面有一些细节大家可能没怎么注意,虽然一般没有什么大问题,但俗话说的好,差之毫厘失之千里.所以我们一定要注意这些小细节.那在我们日常的编程中 ...

  7. java 输出当前行号_Java编程实现获取当前代码行行号的方法示例

    本文实例讲述了Java编程实现获取当前代码行行号的方法.分享给大家供大家参考,具体如下: 最近的项目中,为了实现自定义的log类,能够输出具体的代码行行号,我通过使用StackTraceElement ...

  8. java编程 内存_Java编程技术之浅析JVM内存

    JVM JVM->Java Virtual Machine:Java虚拟机,是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的. 基本认知: ...

  9. java xfire指定参数名_Java编程中使用XFire框架调用WebService程序接口

    JAVA调用webservice,当你刚开始接触的时候你会觉得它是一个恶梦,特别是没有一个统一的标准实现,比起.net的那些几步就可以完成的webservice实现,我们看着JAVA的实现真是伤心啊. ...

最新文章

  1. php ip地址地区,PHP查询ip所在地(省份,市)
  2. html盒子阴影的语法,css3 盒阴影box-shadow
  3. c enum能像java一样吗_Java枚举替代我如何做到这一点?
  4. [转]Open Data Protocol (OData) Basic Tutorial
  5. pythonweb啥意思_python-web-guide
  6. html 刷新页面 未传参数值,vue router路由参数刷新消失问题的解决方法
  7. caffe 实例笔记 2 LeNet详细解读及实现
  8. HTML5关于上传API的一些使用(上)
  9. [转](转载+整理)超详细的cmake教程
  10. python编程入门经典-总算理解python编程入门经典教程
  11. MP3播放器横向比较专题之二:闪存式
  12. WAS7.0安装补丁升级程序无法替换文件 java/docs/autorun.inf解决办法
  13. 你必须要知道的10款APP开发框架
  14. socks代理和http代理的区别_浅析socks代理如何使用TCP和UDP协议
  15. 私域运营中引流加爆微信好友的方法
  16. 苹果黑屏就断开无线网连接服务器,跪求苹果手机黑屏以后断开无线网的解决方案!...
  17. 如何下载安装Tableau数据可视化工具
  18. 凭算法突围,一战赚了 1090 亿,“恐怖” 的张一鸣!
  19. linux 无线网卡
  20. 2020-01-08 Oracle 数据库储存生僻字

热门文章

  1. Spring Cloud Alibaba 发布第一个正式版本,顺利完成孵化!
  2. cpu高 thread vm_阿里大佬总结,Java高并发必读!
  3. python opencv卡尺测量边缘距离
  4. softsign激活函数
  5. OpenCV-Python 雪花飘落特效
  6. pyqt5动态删除控件问题
  7. pytorch指定gpu
  8. cv2.circle函数
  9. pth大小为0,占用空间不为0
  10. libtorch调用模型