首页 > 代码库 > 从排序开始学JAVA(1)
从排序开始学JAVA(1)
直接插入排序
基本思想:有一列数,把待排数字插入到前面已排好的数字序列中。
比如 n个数做直接插入排序 56,14,45,69,42,8,10
开始时有序表中只包含一个元素,无序组中有n-1个元素 有序表 无序表
56 14,45,69,42,8,10
从无序表取出第一个待排元素将它插入到有序表的适当位置 14, 56 45,69,42,8,10
(这里默认从小到大排列) 使之成为新的有序表 14, 45, 56 69,42,8,10
。。。。。。
重复n-1次可完成排序过程 8,10,14,42,45,56,69
JAVA实现程序:
package sort;public class insertSort { public insertSort(){ int[]array={56,14,45,69,42,8,10}; int temp=0; for(int i=1;i<array.length;i++){ int j=i-1; temp=array[i]; //array[i]是待排元素,赋值给临时变量temp for(; j>=0 && temp<array[j]; j--) //待排元素与有序表中的元素从右到左一次比较,到合适位置停止 array[j+1]=array[j]; array[j+1]=temp; } for(int i:array) System.out.print(i+" "); } }
从排序开始学JAVA(1)