插入排序的算法思想是
我们给定一个数组,首先我们将第一个元素a[0]视为排序好的数,这里称为已排序好的数列
然后,我们将数组中的第二个元素插入到已排序好的数,依次类推
举例:
比如一个数组存储的元素为{8,3,1,5,2,1}
第一步我们假设8为已经排序号的数列
第二步,然后设置一个循环从i=1开始到n-1(n是指数组中存在多少个元素),比如i=1时,我们将这个数和排序好的数字比较,如果小则将原来排序的数字通过内层循环往后挪一位,后面的依次内推。
package Sort;
/*
* @ly
* 插入排序
*/
import java.util.*;
public class InsertionSort {
public static void main(String[] args) {
int []a = new int[1000];
Scanner input = new Scanner(System.in);
int n = input.nextInt();
for(int i = 0;i<n;i++)
{
a[i] = input.nextInt();
}
input.close();
int j,i,v;
for(i = 1;i<n;i++)
{
v = a[i];
j = i-1;
while(j>=0 && a[j]>v)
{
a[j+1] = a[j];
j--;
}
a[j+1] = v;
}
for(i = 0;i<n;i++)
{
System.out.println(a[i]);
}
}
}