第一章 冒泡排序
知识点-- 冒泡排序
3.讲解
3.1冒泡排序概述
- 一种排序的方式,每轮比较都从第一个元素(索引为0的元素),相邻的2个元素进行比较,只要前面元素比后面元素大就交换,依次对所有的数据进行操作,直至所有数据按要求完成排序
- 如果有n个数据进行排序,总共需要比较n-1轮
- 每一轮比较完毕,下一轮的比较就会少一个数据参与
3.2冒泡排序图解
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-z7UFMFQj-1578491896997)(img/5.png)]
3.3冒泡排序代码实现
/*
冒泡排序:
一种排序的方式,对要进行排序的数据中相邻的数据进行两两比较,将较大的数据放在后面,
依次对所有的数据进行操作,直至所有数据按要求完成排序
*/
public class ArrayDemo {
public static void main(String[] args) {
//定义一个数组
int[] arr = {7, 6, 5, 4, 3};
System.out.println("排序前:" + Arrays.toString(arr));
// 这里减1,是控制每轮比较的次数
for (int x = 0; x < arr.length - 1; x++) {
// -1是为了避免索引越界,-x是为了调高比较效率
for (int i = 0; i < arr.length - 1 - x; i++) {
if (arr[i] > arr[i + 1]) {
int temp = arr[i];
arr[i] = arr[i + 1];
arr[i + 1] = temp;
}
}
}
System.out.println("排序后:" + Arrays.toString(arr));
}
}
4.小结
第二章 选择排序
知识点-- 选择排序
3.讲解
3.1选择排序概述
- 另外一种排序的方式,选中数组的某个元素,其后面的元素依次和选中的元素进行两两比较,只要前面元素比后面元素大就交换,依次从前到后选中每个元素,直至所有数据按要求完成排序
- 如果有n个数据进行排序,总共需要比较n-1轮
- 每一轮比较完毕,下一轮的比较就会少一个数据参与
3.2选择排序图解
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gVg5oRs6-1578491896999)(img/6.png)]
3.3选择排序代码实现
/*
选择排序:
另外一种排序的方式,选中数组的某个元素,其后面的元素依次和选中的元素进行两两比较,将较大的数据放在后面,依次从前到后选中每个元素,直至所有数据按要求完成排序
*/
public class ArrayDemo {
public static void main(String[] args) {
//定义一个数组
int[] arr = {7, 6, 5, 4, 3};
System.out.println("排序前:" + Arrays.toString(arr));
// 这里减1,是控制比较的轮数
for (int x = 0; x < arr.length - 1; x++) {
// 从x+1开始,直到最后一个元素
for (int i = x+1; i < arr.length; i++) {
if (arr[x] > arr[i]) {
int temp = arr[x];
arr[x] = arr[i];
arr[i] = temp;
}
}
}
System.out.println("排序后:" + Arrays.toString(arr));
}
}
来源:CSDN
作者:Zkuzma
链接:https://blog.csdn.net/Zkuzma/article/details/103927982