欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-05-26 22:25:51
...

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

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

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

算法流程图

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

}

 

相关标签: java Sort