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;
}
}
}
热门推荐
1 如何训练狗狗不叫
2 训练狗狗不叫
3 训练狗狗随行
4 怎么训练狗狗不叫
7 训练比熊狗狗教程
10 上海狗狗训练
11 怎么训练狗狗上厕所
12 训练狗狗趴下
13 狗狗服从训练
14 训练狗狗拒食
15 训练狗狗笑
16 训练狗狗大便
17 训练狗狗立
18 训练狗狗捡东西