Java学习--排序算法之插入法排序

算法策略:按顺序读入数组内的元素,从后往前的与已有元素比较大小,插入到前一位比自己小并且后一位比自己小的位置。

数据结构:常量、变量和数组;

控制结构:顺序结构、有界循环结构和条件循环结构。

算法流程图

《Java学习--排序算法之插入法排序》

程序设计代码

public class Sort {

	public static void main(String[] args) {
// TODO Auto-generated method stub
//建立一个数组
		int[] array = {10,12,58,61,16,15,25,36,37,38,48,59,68,69,78,1};
//建立一重循环,可以从头到尾去遍历每一个元素
		for (int i = 1; i < array.length;i++)
		{
//将当前的元素的值赋值给key,记录当地元素的值,以便与前边的元素进行比较大小
			int key = array[i];
//定义当前元素下标的前一位元素的下标
			int j = i - 1;
//建立循环,比较当前元素与前边元素的值
			while(j>=0 && array[j]>key)
			{
//因为当前元素比前一位元素小,所以把前边一位元素的值赋予后边一位,即是将该元素的位置后移一位
				array[j+1] = array[j];
//将下标数字减一,以便比较当前元素和前边两位的大小
				j--;
			}
//当前元素比前边元素大,跳出循环,将当前元素的值赋值给该位置的元素,即是将该元素安插在当前位置
			array[j+1] = key;
		}
//遍历数组,输出数组各元素
		for(int i = 0;i<array.length;i++)
		{
			System.out.print(array[i] + " ");
		}
	}

}

 

    原文作者:排序算法
    原文地址: https://blog.csdn.net/jianlongzai_tian/article/details/81515920
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞