冒泡排序:
给你一个有序数组,对数组进行冒泡排序
import java.utils.Arrays;
public class Code_00_BubbleSort{
public static void bubbleSort(int[] arr){
if(arr == null || arr.length < 2){
return;
}
for(int end = arr.length-1; end > 0; end--){
for(int i = 0; i < end; i++){
if(arr[i] > arr[i+1){
swap(arr, i,i+1);
}
}
}
}
}
public static void swap(int[] arr, int i ,int j){
int temp = arr[i];
int arr[i] = arr[j];
arr[j] = temp;
}
插入排序:
每次将后面一个数与前面已经排好的数字进行比较并插入
时间复杂度:
最好情况O(n),最差情况O(n^2)
public class 视频_插入排序 {
public static void insertSort(int[] arr) {
if (arr == null || arr.length <2) {
return;
}
//i从1开始(0位置一定是有序的)
for (int i = 1; i < arr.length; i++) {
for (int j = i-1; j >= 0 && arr[j]>arr[j+1]; j--) {
swap(arr,j,j+1);
}
}
}
private static void swap(int[] arr, int j, int i) {
int temp = arr[j];
arr[j] = arr[i];
arr[i] = temp;
}
}