1 import java.util.Scanner; 2 3 /*算法思想:每趟将一个待排序的元素作为关键字,按照关键字值大小插入到已排好序的那部分序列的适当位置上,直到插入完成,*/ 4 /*平均时间复杂度O(n^2),空间复杂度O(1)*/ 5 /*特点:插入排序都是最后一趟完成之前,没有任何一个记录到达其最终位置*/ 6 7 public class zhijiecharusort { 8 public static void main(String strg[]){ 9 Scanner cin = new Scanner(System.in); 10 String str = cin.nextLine(); 11 String st[] = str.split(" "); 12 int c[]=new int[st.length]; 13 for(int i=0;i<st.length;i++){ 14 c[i]=Integer.parseInt(st[i]); 15 } 16 insertSort(c); 17 for(int i=0;i<st.length;i++){ 18 System.out.print(c[i]); 19 System.out.print(" "); 20 } 21 cin.close(); 22 } 23 public static void insertSort(int R[]){ 24 int temp; 25 int j; 26 for(int i=1;i<R.length;i++){ 27 temp=R[i]; 28 j=i-1; 29 while(j>=0&&temp<R[j]){ 30 R[j+1]=R[j]; 31 j--; 32 } 33 R[j+1]=temp; 34 } 35 } 36 }
时间: 2024-10-07 20:39:15