插入排序
整体实现思路:![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/2dbbc496004a08224d9eef99d91d4b2d.png#pic_center)
i指针指向当前处理元素,先保存当前值temp,用j指针向前移,比较j-1的值和i的值的大小,如果比3大,将j-1的值赋给j,j–,停止循环时将temp赋值给j的值
import java.util.Arrays;
public class InsertSort2 {
public static void Sort(int[] arr){
for (int i = 0; i < arr.length; i++) {
int temp = arr[i];
int j;
for (j = i; j >0 && temp < arr[j-1];j--) {
arr[j] = arr[j-1];
}
arr[j] = temp ;
}
}
public static void swap(int[] arr , int a , int b){
int temp = arr[a];
arr[a] = arr[b];
arr[b] = temp;
}
public static void main(String[] args) {
int[] arr = {4,3,5,7,6,2,1};
Sort(arr);
System.out.println(Arrays.toString(arr));
}
}