public class Demo8 {
/**
* 插入排序,从第二个元素开始,后面的每一个元素依次比较,符合条件向前插入,
*/
public static void main(String[] args){
int[] arr = {7, 8, 5, 58, 69, 23, 96, 45, 65, 12};
for (int i = 1; i <arr.length; i++) {
int pos=i;//pos插入的位置
int curr=arr[i];//从第二个位置开始
for (int j = i-1; j>=0; j--) {
if (arr[j]>curr)//如果前面的元素大于后面的元素。
{
arr[j + 1] = arr[j];//前面的元素向后移动,arr[j+1]==curr
pos--;//光标移动到最小位置
}else{
break;
}
}
if (pos!=i)//判断位置是否发生改变。
{
arr[pos]=curr;//把curr放到最小位置
}
}
System.out.println(Arrays.toString(arr));
}
}
插入排序(Java)
最新推荐文章于 2023-05-15 11:09:25 发布