加监视哨的直接插入排序

Posted Jesseylove

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了加监视哨的直接插入排序相关的知识,希望对你有一定的参考价值。

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]+" ");
	}
}

  

以上是关于加监视哨的直接插入排序的主要内容,如果未能解决你的问题,请参考以下文章

直接插入排序

直接插入冒泡快速简单选择堆归并排序算法Java语言

排序02-直接插入排序法

算法3 七大排序之:直接插入排序和希尔排序

插入排序(直接插入排序折半插入排序希尔排序的算法思想及代码实现)

7种基本排序算法的Java实现