Java冒泡排序
Posted jjdom
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java冒泡排序相关的知识,希望对你有一定的参考价值。
冒泡排序源码:
int[] in = {41,33,-95,2,7,43,655,2394,54}; int num = in.length; for(int i = 0;i<in.length-1;i++){ for (int j = 0;j<in.length-i-1;j++){ if(in[j+1] < in[j]){ int emmm = in[j]; in[j]=in[j+1]; in[j+1]=emmm; } } for(int ii = 0; ii < num; ii++){ System.out.print(in[ii]+"="); } System.out.println(); }
每次排序就是把最大元素排在最后面,下次排序数组长度-1,就是不用管最后一个元素,依次把最大元素排在最后面,数组长度-1~~~~
还有一种排序的方法:
int[] in = {41,33,-95,2,7,43,655,2394,54}; int num = in.length; for (int i = 0;i<in.length;i++){ for (int j = 0;j<i;j++){ if(in[i]<in[j]){ int emmm = in[j]; in[j]=in[i]; in[i]=emmm; } } for(int ii = 0; ii < num; ii++){ System.out.print(in[ii]+"="); } System.out.println(); }
当 i=1,数组元素没有变化
当 i=2,j=1,进入里面循环,判断 in[2] 和 in[1] 的大小,然后交换值。这就完成了一次排序,也就是数组中的第一个元素跟第二个元素比较、然后排序
当 i=3,j=2,进入里面循环,这里会循环两次,判断 in[3] 和 in[1] 的大小然后排序,排序完成之后,再判断 in[3] 和 in[2] 的大小,然后排序。
相对冒泡排序,原理相对复杂,但是代码相对简洁,效果目测一样。
如若有错地方,欢迎大家批评改正。
以上是关于Java冒泡排序的主要内容,如果未能解决你的问题,请参考以下文章