import java.util.Arrays;
/**
* @author liuchaojun
* @date 2018-12-10 上午10:29:58
*/
public class SortUtils {
/**
* 冒泡排序
* 大的一直往后比较 往后推
* 第一次第一个和第二个比较 所以要减去一次 比较完一次最大就减一个
* 时间复杂度:(n-1)+(n-2)+(n-3)+.....(n-10)+1=O(n^2) 常量不要,低次幂不要
*
* 比较规律:1和2比 2和3比 3和4比 。。。。 小的前移
*/
static void bubblingSort() {
int arr[] = { 1, 3, 5, 1, 2, 3, 4, 6, 71, 2, 3 };//1
for (int i = 0; i < arr.length; i++) {//n
for (int j = 0; j < arr.length - i - 1; j++) {
int temp = 0;
if (arr[j] > arr[j + 1]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
System.out.println(Arrays.toString(arr));
}
/**
* 选择排序
* 大的一直往后比较 往后推
* 时间复杂度:(n-1)+(n-2)+(n-3)+.....(n-10)+1=O(n^2) 常量不要,低次幂不要
*
* 比较规律:1和2,3,4,5 比 2和3,4,5比 。。。。 小的前移
*/
static void choiceSort(){
int arr[] = { 1, 3, 5, 1, 2, 3, 4, 6, 71, 2, 3 };
for (int i = 0; i < arr.length-1; i++) {//最后一个不要比较 把大的往后移 小的往前移
for (int j = i+1; j < arr.length; j++) {
int temp = 0;
if (arr[i] > arr[j]) {
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
System.out.println(Arrays.toString(arr));
}
public static void main(String[] args) {
bubblingSort();
choiceSort();
}
}