数组排序
1.冒泡排序
< 排序方向:从小到大>
冒泡排序主要思想在于,两个数的比较,以如下代码示例,如第一个数比第二个数小,则交换位置,如此反复下去,完成第一遍的的冒泡之后数组的第一个元素则为整个数组的最小值,第二遍冒泡则从第二个元素开始…以此类推即完成冒泡排序。
//冒泡排序
public static void bubbleSort(int[] arr) {
//1.控制循环多少次
for(int i = 0; i < arr.length; i++) {
//2.循环找到余数组中最大的值
for(int j = 1; j < arr.length-i; j++) {
//3.交换元素的值
if(arr[j] < arr[j-1]) {
int temp = arr[j-1];
arr[j-1] = arr[j];
arr[j] = temp;
}
}
}
}
2.选择排序
<排序方向:从小到大,>
选择排序在于找到最大值或者最小值,以下代码示例为找到最小值,相较于冒泡比较繁琐一点点。
//选择排序
public static void selectsort(int[] arr) {
for (int i = 0; i < arr.length-1; i++){
int minindex = i;
for (int j = minindex + 1; j < arr.length; j++){
if (arr[j] < arr[minindex]){
int min = j;
}
}
int temp = arr[i];
arr[i] = arr[minindex];
arr[minindex] = temp;
}
}
最后,建议大家用 Arrays.sort() 一键排序比较好。。。。