插入排序

package sf;
/**
 * 插入排序
 * @author kali
将一个记录插入到已排序好的有序表中,从而得到一个新,记录数增1的有序表。
即:先将序列的第1个记录看成是一个有序的子序列,然后从第2个记录逐个进行插入,直至整个序列有序为止。
 */
public class Sort01 {

	
	public static void main(String[] args) {
		int[] array={2,4,3,9,6,4,2,1,9};
		Sort01 sort=new Sort01();
		sort.sortArray(array);
	}
	
	void sortArray(int[] array){
		for(int i=1;i<array.length;i++){
			change(array ,i);
			System.out.println(">>>"+i);
			toString(array);
		}
	}
	
	void change(int[] array ,int i){
		if(i>0&&array[i]<array[i-1]){
			int temp=0;
			temp=array[i];
			array[i]=array[i-1];
			array[i-1]=temp;
			i--;
			change(array,i);
		}
		
	}
	
	static void toString(int[] array){
		for(int i=0;i<array.length;i++){
			System.out.print(array[i]+"  ,");
		}
		System.out.println("  ");
	}
}
>>>1
2  ,4  ,3  ,9  ,6  ,4  ,2  ,1  ,9  ,  
>>>2
2  ,3  ,4  ,9  ,6  ,4  ,2  ,1  ,9  ,  
>>>3
2  ,3  ,4  ,9  ,6  ,4  ,2  ,1  ,9  ,  
>>>4
2  ,3  ,4  ,6  ,9  ,4  ,2  ,1  ,9  ,  
>>>5
2  ,3  ,4  ,4  ,6  ,9  ,2  ,1  ,9  ,  
>>>6
2  ,2  ,3  ,4  ,4  ,6  ,9  ,1  ,9  ,  
>>>7
1  ,2  ,2  ,3  ,4  ,4  ,6  ,9  ,9  ,  
>>>8
1  ,2  ,2  ,3  ,4  ,4  ,6  ,9  ,9  ,  
原文地址:https://www.cnblogs.com/lanqie/p/7442877.html