Java数据结构及算法实例:插入排序 Insertion Sort
/**
*选择排序的思想:
*每次循环前,数组左边都是部分有序的序列,
*然后选择右边待排元素,将其值保存下来
*依次和左边已经排好的元素比较
*如果小于左边的元素,就将左边的元素右移一位
*直到和最左边的比较完成,或者待排元素不比左边元素小
*/
packageal;
publicclassInsertionSort{
publicstaticvoidmain(String[]args){
InsertionSortinsertSort=newInsertionSort();
int[]elements={14,77,21,9,10,50,43,14};
//sortthearray
insertSort.sort(elements);
//printthesortedarray
for(inti=0;i<elements.length;i++){
System.out.print(elements[i]);
System.out.print("");
}
}
/**
*@author
*@paramarray待排数组
*/
publicvoidsort(int[]array){
//mintosavetheminimumelementforeachround
intkey;//savecurrentelement
for(inti=0;i<array.length;i++){
intj=i;//currentposition
key=array[j];
//comparecurrentelement
while(j>0&&array[j-1]>key){
array[j]=array[j-1];//shiftit
j--;
}
array[j]=key;
}
}
}
热门推荐
10 朋友新年祝福语大全 简短
11 新年祝福语简短大方兔年
12 搬新家礼物祝福语简短
13 同学见面花束祝福语简短
14 五一假期祝福语幽默简短
15 离职欢送敬酒祝福语简短
16 对学弟的祝福语简短
17 考老师辞职祝福语简短
18 祝福语驱散霉运的话简短