最简单的排序算法之一便是插入排序(insertion sort). 其复杂度为O(N^2).
思路也非常简单就是2个 for 循环嵌套.第一个 for 循环遍历整个数组,其里面的 for 循环则进行判断将当前的数字跟其前面的数字进行对比,放到第一个小于它的后面的位置.以此为循环.当外面的 for 循环遍历完成,则该数组已成为一个升序排序的数组了,此排序方法效率很低.
double* InsertionSort(double*a,intn){
intj,p;
doubletmp;
for(p =1;p < n;p++){
tmp = a[p];
for(j = p;j >=0&& a[j-1] > tmp;j--){
a[j] = a[j-1];
}
a[j] = tmp;
}
returna;
}
网友评论