JAVA 插入排序
程序员文章站
2022-06-19 14:44:46
插入排序比较好理解,就是从后往前找第一个比他小的值,放这个值的后边,也就是说我们需要将所有遍历过且不满足条件的数值下标后挪一位,为他腾出地方。那么在具体写的时候怎么写呢?和前几个排序一样,首先要知道交换条件,上边已经说了,当我们的当前这一位不符合我们想要的条件的时候就把他后挪一位,也就是a[i+1]=a[i];同时我们也要注意将这个需要插入的值放入序列。放入的条件是在保证下标>=0的同时当前遍历的值刚好小于插入值。public static void Insertsort(int[] a) {...
插入排序比较好理解,就是从后往前找第一个比他小的值,放这个值的后边,也就是说我们需要将所有遍历过且不满足条件的数值下标后挪一位,为他腾出地方。
那么在具体写的时候怎么写呢?
和前几个排序一样,首先要知道交换条件,上边已经说了,当我们的当前这一位不符合我们想要的条件的时候就把他后挪一位,也就是a[i+1]=a[i];同时我们也要注意将这个需要插入的值放入序列。放入的条件是在保证下标>=0的同时当前遍历的值刚好小于插入值。
public static void Insertsort(int[] a) {
for(int i = 0;i < a.length;i++) {
int temp = a[i];
int j = i - 1;
while (j>=0 && a[j]>temp)
{
a[j + 1] = a[j];
j--;
}
a[j + 1] = temp;
}
}
本文地址:https://blog.csdn.net/m0_50210478/article/details/112218823