插入排序之二分法插入排序

主要思想:遍历每个值,当前值之前的值都是已经排序完成的,用二分法找到当前值在之前已经排好序的值中应该存在的位置

主要代码:
void binarySort(int *array,int n) { int temp; int l,r,mid; for(int j=1;j<n;j++) { temp=array[j]; l=0; r=j-1; while(l<=r) { mid=(l+r)/2; if(array[mid]>temp) r=mid-1; else l=mid+1; } for(int k=j;k>l;k--) array[k]=array[k-1]; array[l]=temp; } return ; }

时间复杂度:O(n^2)
空间复杂度:O(n)
稳定性:稳定的

posted @ 2024-08-09 20:43  jenniferCAI  阅读(17)  评论(0)    收藏  举报