b站看的,自己练习
1,将第一个数看作有序,其他的数看作无序
2,将第二个数与第一个数表,如果小于第一个数
就将temp=a[0]
a[0]=a[1]
a[1]=temp
3,通过while循环将其他的数字一次排好顺序
平均时间复杂度O(n2)
最好时间复杂度O(n)
最坏时间复杂度O(n2)
import java.util.Arrays;
public class Sort {
public static void main(String[] args) {
int[] arr = {19,91,9,17,1,8};
// quickSort(arr, 0, arr.length - 1);
charRuSort(arr);
System.out.println(Arrays.toString(arr));
}
public static void charRuSort(int []arr)
{
for(int i=1;i<arr.length;i++)
{
int temp=arr[i];
int j=i;
while(j>0&&temp<arr[j-1])
{
arr[j]=arr[j-1];
j--;
}
arr[j]=temp;
}
}
`![在这里插入图片描述](https://img-blog.csdnimg.cn/20200205232142182.png)