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

  

相关文章:

  • 2021-11-14
  • 2022-01-22
  • 2021-07-20
  • 2021-05-16
  • 2022-01-03
  • 2021-06-27
猜你喜欢
  • 2022-12-23
  • 2022-02-05
  • 2022-01-06
  • 2021-12-02
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案