Jesseylove

导航

加监视哨的直接插入排序

package algorithm;

public class StraightInsertSort 
{
	/**
	 * 加监视哨的直接插入排序
	 * @param arr
	 */
	public static void insertSort(int[] arr)
	{
		int i,j;
		for(i=2;i<arr.length;i++)
		{
			arr[0]=arr[i]; //设置arr[0]为监视哨,
	//即每一个数组元素在比较前存入arr[0],作为循环结束条件
			for(j=i-1;arr[j]>arr[0];j--)
			{
				arr[j+1]=arr[j];
			}
			arr[j+1]=arr[0];
		}
	}
	public static void main(String[] args)
	{
		int[] arr= {0,5,6,8,99,1,2,0,4,888,3};//数组元素实际存放位置从1到n-1
		insertSort(arr);
		for(int i=1;i<arr.length;i++)
			System.out.print(arr[i]+" ");
	}
}

  

posted on 2017-11-04 15:16  Jesseylove  阅读(776)  评论(0)    收藏  举报