直接插入算法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_22830285/article/details/79993295

直接插入算法:

步骤:

一:设置监听岗

二:交换监听岗

三:将数据插入监听岗


	//直接插入排序
	public static void zjcrpx(){
		int[] a={1,2,3,4,5,6,733,10};
		//遍历数组,因为第一个a[0]肯定是有序的,所以用a[1]开始排序
		for(int i=1;i<a.length;i++){
			//建立监控岗,就是一个空位那样子,比如现在要排序a[0],a[1],那么就设定a[1]为监控岗,即a[1]这个位置的值可能会变
			int temp=a[i];
			//设立监听岗之后,开始跟前面已经排序好的数据逐个对比,。
			int j;
			for(j=i-1;j>0&&a[j]>temp;j--){
				//遇到比他大的的数据就监听岗放置,
				a[i]=a[j];
				//交换之后,a[j]就成为了新的监听位、
			}
                            //将要排序的数据插入监听位置
			a[j]=temp;
		}
			
		
		for(int j=0;j<a.length;j++){
			System.out.print(a[j]+",");
		}
	}

猜你喜欢

转载自blog.csdn.net/qq_22830285/article/details/79993295