冒泡排序
思路
-
两层循环
- 外层循环判断需要执行的次数
- 内层循环判断两个值的大小并且交换
-
创建一个临时变量充当临时容器
-
输出数组
代码
import java.util.Arrays;
public class text9 {
public static void main(String[] args) {
int[] a = {33,44,32,57,75,34,98,45,742,345};
int[] pc = px(a);//将数组a通过方法px排序后传递给数组pc
System.out.println(Arrays.toString(pc));//使用Arrays输出数组
}
public static int[] px(int[] num){
int num2;//创建一个临时变量交换位置时使用,充当临时容器
for (int i = 0; i < num.length-1; i++) {//外层循环判断需要进行的次数
for (int j = 0; j < num.length-1; j++) {//内层循环,判断两个数的大小并且交换位置
if (num[j+1]>num[j]){//判断前后两个值的大小
num2 = num[j];//将一个较小值先赋给临时变量 num2
num[j] = num[j+1];//将一个较大的值赋值给原较小的变量
num[j+1]=num2;//将临时变量 num2 储存的较小的值赋值到原数值较大的位置
}
}
}
return num;
}
}
输出结果
[742, 345, 98, 75, 57, 45, 44, 34, 33, 32]
代码分析
int num2;//临时变量,充当容器
for (int i = 0; i < num.length-1; i++) {}//外层循环,判断需要执行的次数
for (int j = 0; j < num.length-1; j++) {}//内层循环
在内层循环中加入判断
if (num[j+1]>num[j]){}//判断相邻两个值的大小
如果真执行
num2 = num[j];//将一个较小值先赋给临时变量 num2
num[j] = num[j+1];//将一个较大的值赋值给原较小的变量
num[j+1]=num2;//将临时变量 num2 储存的较小的值赋值到原数值较大的位置
return num;//返回数组num
int[] pc = px(a);//将数组a通过方法px排序后传递给数组pc
System.out.println(Arrays.toString(pc));//使用Arrays输出数组