冒泡排序
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 }