冒泡排序:比较相邻的俩个元素,较大的往后冒。
public class MaoPao {
public static void main(String[] args) {
int[] arr = {2,4,3,5,7,9,11,34,4};
for (int i = 0; i < arr.length; i++) {
for (int j = 0 ; j< arr.length-i;j++){
if (arr[j] > arr[j+1]) {
int temp = arr[j+1];
arr[j+1] = arr[j];
arr[j] = arr[j+1];
}
}
}
System.out.println(Arrays.toString(arr));
}
}
直接排序
/*
* 每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序地放在已排好序的数列的最后,直到全部待排序的数据元素排完
* */
public static void main(String[] args) {
int[] arr = {1,32,45,12,54,31,23,43};
Sort(arr);
}
private static void Sort(int[] arr){
for (int i = 1; i < arr.length; i++) {
int index = 0;
for (int j = 1; j <= arr.length-i; j++){
if (arr[j] > arr[index]) { //如果
index = j;
}
}
int temp = arr[arr.length-i];
arr[arr.length-i] = arr[index];
arr[index] = temp;
}
System.out.println(Arrays.toString(arr));
}
反转排序
public static void main(String[] args) {
int[] arr = {10,20,30,40,50,60,70};
int length = arr.length;
//System.out.println(length/2);
for (int i = 0; i < length/2; i++) {
int temp = arr[i];
arr[i] = arr[length-i-1];
arr[length-1-i] = temp;
}
System.out.println(Arrays.toString(arr));
}