java中有一个很基础也很简单的冒泡排序的问题,大致意思是算法重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来,这样越大的元素会经由交换慢慢“浮”到数列的顶端。
而冒泡算法的运作过程为:
1. 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
2. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
3. 针对所有的元素重复以上的步骤,除了最后一个。
4. 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
其实大致如下
第一轮呢,第一个数首先与第二个数比较,当它大于第二个数时,它首先赋给temp,让后将第二个数赋予1,再将temp大的值赋予2,以此相比较,直至将最大的数赋给最后一个位置上,也就是图上7的位置。
而第二轮就是继续重复第一轮的过程,而第七个数已经确定了,所以就不用比较了,所以第二轮比了5次,而重复这样了比较直到第6论就可以将所有的值比较完成,这样就可以将数组的大小排列完成。
代码如下