一、直接插入排序
package demosort;
/*
* 直接插入排序:
* 基本思想:在要排序的一组数中,假设前面(n-1)[n>=2] 个数已经是排
* 好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数
* 也是排好顺序的。如此反复循环,直到全部排好顺序。
*/
public class insertSort {
public insertSort(){
int a[]={3,2,5,7,10,45,4,23};
int temp=0;
for(int i=1;i<a.length;i++){
int j;
temp=a[i];//待插入元素
for(j=i-1;j>=0;j--){
//如果temp的值小于前面的数,将大于temp的数向后移一位。
if(temp<a[j]){
a[j+1]=a[j];
}else{
break;
}
}
a[j+1]=temp;//上步执行完J--后,一直到temp的值不满足条件为止,交换了位置
}
for(int i=0;i<a.length;i++){//循环打印排序后的数组
System.out.print(a[i]+" ");
}
}
public static void main(String[] args) {
// 实例化对象
insertSort is=new insertSort();
}
}