JAva冒泡排序的原理:依次比较相邻的两个数,将小数放在前面,大数放在后面。即首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。重复以上过程,仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再小于第2个数),将小数放前,大数放后,一直比较到最大数前的一对相邻数,将小数放前,大数放后,
第二趟结束,在倒数第二个数中得到一个新的最大数。如此下去,直至最终完成排序。
思路:采用两个for循环,最外层的for循环是让元素循环比较的次数,有多少个元素就要循环多少次,最里层的for循环是用来依次比较相邻两个数的,循环的次数由会依次减少,因为当找到了最大的数后,就不用在比较这个最大数了。 主要代码如下:
1 class Demo
2 {
3 public static void main(String[] args)
4 {
5
6 //需求:每次将数组中最大的元素把他移到最右边去
7 int[] arr = {7,3,9,12,6,2};
8 //将最大的值移到最右边
9 10 //------这中排序就是冒泡排序-------------------
11 for(int i =0;i<arr.length-1;i++){
12
13 for(int j=0;j<arr.length-1-i;j++){
14
15 if(arr[j]>arr[j+1]){
16 int temp = arr[j];
17 arr[j]=arr[j+1];
18 arr[j+1] = temp;
19 }
20 }
21 }
22 }