插入排序算法分析

插入排序的算法思想是

我们给定一个数组,首先我们将第一个元素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]);
		}
	}

}

猜你喜欢

转载自blog.csdn.net/lytwy123/article/details/81411758