首页 > 代码库 > 冒泡排序和选择排序区别
冒泡排序和选择排序区别
/*冒泡排序:每一次循环数值较小的的就能像气泡一样慢慢浮现出来
* 两层循环,第一层循环控制循环的次数, 第二层拿数组中的第二个数进行和第一层循环中的数进行比较,
* */
int[] nums = { 29, 13, 23, 10, 72, 41, 21, 77 };
int temp = 0;
for (int i = 0; i < nums.length - 1; i++) {
for (int j = i + 1; j <= nums.length - 1; j++) {
if (nums[i] > nums[j]) {
temp = nums[i];
nums[i] = nums[j];
nums[j] = temp;
}
}
}
System.out.println(Arrays.toString(nums));
/*
* 选择排序:两层循环,第一次是控制循环的次数,不拿数出来进行计较,
* 第二次循环就是拿临近的两个数进行计较,第二次循环解决,最小数已经出来
* */
int[] nums = { 29, 13, 23, 10, 72, 41, 21, 77 };
int temp = 0;
for (int i = 0; i < nums.length; i++) {
for (int j = 0; j < nums.length - 1; j++) {
if (nums[j] > nums[j + 1]) {
temp = nums[j + 1];
nums[j + 1] = nums[j];
nums[j] = temp;
}
}
}
System.out.println(Arrays.toString(nums));
/*
* 冒泡是从第一个数开始,往下每个数进行比较,如果后面比前面小,就调换位置,这样一趟下来就将最大的放到最后,
* 选择排序是将第一个数和后面的每个数进行比较,如果后面的比前面小,就两个数调换位置,最后就将最小的数放在最前面
*/