//升序
public static void Insertion_Sort(int[] elements){
for(int i = 1;i <elements.length; i++){
int j = -1;
while(j <= i && elements[i] > elements[++j]);//找到element[i]應該擺放的位置,此處可以利用查找算法進行優化
if(j < i){
//將j之後的數據移動一位,然後把elements[i]移動到j處
int temp = elements[i];
for(int k = i-1;k >= j;k--){
elements[k+1] = elements[k];
}
elements[j] = temp;
}
}
}
//降序
public static void Insertion_Sort(int[] elements){
int key,i;
for(int j=1;j<elements.length;j++)
{
key=elements[j];
i=j-1;
while(i>=0 && elements[i]<key){
elements[i+1]=elements[i];
i=i-1;
elements[i+1]=key;
}
}
}