您的位置:首页 > 编程语言 > Java开发

Java学习-插入排序1-直接插入排序

2016-05-09 21:29 218 查看
直接插入排序:

          基本思想:在要排序的一组数中,假设前面(n-1)[n>=2] 个数已经是排好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数也是排好顺序的,每步将一个待排序的记录,按其顺序码大小插入到前面已经排序的字序列的合适位置(从后向前找到合适位置后),直到全部插入排序完为止。

   例如:






代码附上:

package charu;

public class zhijie {
public static void main(String args[]){
int array[] = new int[]{23,52,12,59,48,49,78,98,86,56};
System.out.println("排序之前:");
for(int i=0;i<array.length;i++){
System.out.print(array[i]+" ");
}
//直接插入排序
for(int i=0;i<array.length;i++){
int temp = array[i];     //待插入元素
for(int j=i-1;j>=0;j--){     //将大于temp的元素往后移动一位
if(array[j]>array[j+1]){
temp = array[j];
array[j] = array[j+1];
array[j+1] = temp;
}
}
}
System.out.println();
System.out.println("排序之后:");
for(int i =0;i<array.length;i++){
System.out.print(array[i]+" ");
}
}

}


运行结果:

排序之前:

23 52 12 59 48 49 78 98 86 56 

排序之后:

12 23 48 49 52 56 59 78 86 98 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息