先图示了解插入排序的代码逻辑,再对应代码如何实现
public class InsertSort {
public void print(int[] arr)
{
for (int x:arr)
{
System.out.print(x+",");
}
}
public void sort(int[] arr)
{
for (int right=1;right0说明未移动到最左方,arr[left-1]>temp说明未找到合适插入位置,还要继续向左移动
while (left>0&&arr[left-1]>temp)//图示第2句
{
arr[left]=arr[left-1];//见图示第3句
left--;//图示第4句
}
//跳出while循环,说明找到了合适位置,见图示第6句
arr[left]=temp;
}
print(arr);
}
public static void main(String[] args) {
InsertSort insertSort = new InsertSort();
int[] arr={4,3,5,2,8,7};
insertSort.sort(arr);
}
}



