一、数组的排序
对数组中的数字按照从小到大或从大到小进行排序
在不断的发展设计中逐步演练出排序的方式方法,称为排序算法
1、排序算法
排序算法有很多种,每一种都有各自排序的规则[算法]
- 冒泡排序算法
- 选择排序算法
注意:学习排序算法主要就是认识和理解排序的规则
2、冒泡排序算法
排序规则:相邻的两个元素进行比较
j=0;//下标
//j如何跟相邻的元素进行比较?始终是j和j+1比较
0-1
j++; //j=1
1-2
....
//初始化数组
int[]arr = {
6,4,2,5,3,1};
//第一轮
/*
0-1 1-2 2-3 3-4 4-5
j是-左边的,范围:0~lengt-1-1
-右边永远是j+1 (这样就能保证永远都是相邻的元素)
*/
for (int i = 0; i < arr.length-i; i++) {
for (int j = 0; j < arr.length-1-i; j++) {
if(arr[j]>arr[j+1]){
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
//遍历数组输出元素
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]+"\t");
}
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mQFbguhb-1657601408193)(Img\mp.png)]
3、选择排序算法
排序规则:每次从头一个元素,依次和后续的元素进行比较(有选择的比较)
/*
规则:
0 - 1 2 3 4 5
1 - 2 3 4 5
2 - 3 4 5
3 - 4 5
4 - 5
-右边是被选择比较的(小的循环周期)
*/
//外部循环循环 - 左边的 0 1 2 3 4
for (int i = 0; i < arr.length-1; i++) {
//被选择比较的,内部循环循环被选择比较的