排序法之冒泡排序(新手入门)
冒泡法,气泡在水中上升过程中越来越大,顾名思义,将一列数从大到小依次排列的方法。
具体方法为从第一个数开始比较相邻的两个数的大小,如果后面的数大于前面的数 那么交换两个数的位置 把大的数放在前面,反之不变。接着开始比较第二个数,以此类推
用双重循环实现时,外部循环控制查找的次数,这列数的长度减一,内部循环控制将大的数放在前面。因此,外部循环循环第一次循环能找到这列数的最大值,外部循环第二次循环能找到这列数的次大值。
代码演示(JAVA语言)
//定义一个数组并赋值
int [] arr ={13,8,57,25,100,33};
//外循环控制次数
for (int j = 0; j < arr.length-1; j++) {
//内循环为比较相邻的两个数的大小 如果后面的数大于前面的数 那么交换两个数的位置 把大的数放在前面
for (int i = 0; i < arr.length-1; i++) {
if(arr[i]<arr[i+1]) {
//引入Temp进行交换相邻的数
int Temp = arr[i];
arr[i]=arr[i+1];
arr[i+1]=Temp;
}
}
}
注意:交换的时候不能写成
arr[i]=arr[i+1];
arr[i+1]=arr[i];
一定要引入一个新的中间变量来进行交换。