对于一个int数组,请编写一个插入排序算法,对数组元素排序。
给定一个int数组A及数组的大小n,请返回排序后的数组。
测试样例:
[1,2,3,5,3],6
[1,5]
class InsertionSort {
public:
void swap(int * a,int * b){
int temp = *a;
*a = *b;
*b = temp;
}
void print(int * A,int n){
for (int i = 0; i < n; i++)
printf("%d ",A[i]);
printf("\n");
}
int* insertionSort(int* A,int n) {
// write code here
//index
for (int i = 1; i < n; i++){
int current_val = A[i];
int j;
for (j = i; j > 0; j--){
if (current_val < A[j-1]){
A[j] = A[j-1];
}
else{
break;
}
}
A[j] = current_val;
}
return A;
}
};