插入排序是一种稳定排序,空间复杂度为O(1),时间复杂度为O(n*n)
package datasort;
//插入排序O(n*n)
public class InsertSort {
public static void print(int[] array){
for(int i=0;i<array.length;i++){
System.out.print(array[i]+" ");
}
System.out.println();
}
public static void main(String[] args) {
int[] array = { 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, -1, -2, -3 };
System.out.println("Before insertSort:");
print(array);
insertSort(array);
System.out.println("After insertSort:");
print(array);
}
public static void insertSort(int[] array) {
if(array==null||array.length<=0)
return ;
int i;
int j;
int insertNote;
for(i=1;i<array.length;i++){
insertNote=array[i];
j=i-1;
while(j>=0&&insertNote<array[j]){
array[j+1]=array[j];
j--;
}
array[j+1]=insertNote;
}
}
}