什么是数组的排序?
对数组中的数字按照从小到大或从大到小进行排序
在不断的发展设计中逐步演练出排序的方式方法,称为**排序算法**
排序算法
排序算法有很多种,每一种都有各自排序的规则算法
排序分为冒泡排序算法、选择排序算法
1冒泡排序算法
排序规则:相邻的两个元素进行比较
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");
}
2.选择排序算法
排序规则:每次从头一个元素,依次和后续的元素进行比较(有选择的比较)
/*
规则:
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++) {
//被选择比较的,内部循环循环被选择比较的
for (int j = i+1; j < arr.length; j++) {
if(arr[i]>arr[j]){
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
//遍历数组输出元素
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]+"\t");
}