排序算法Day2

来源:互联网 发布:手机淘宝怎样申请账号 编辑:程序博客网 时间:2024/06/05 13:23
堆排序//堆排序的一次调整void Adjust(int *arr,int start,int end){if(arr == NULL)return ;int tmp=arr[start];for(int i=2*start+1;i<=end;i=2*start+1){if((i+1)<=end && arr[i+1]>arr[i]){i++;}if(arr[i]>tmp){arr[start]=arr[i];    start=i;}else{break;}}arr[start]=tmp;}//堆排序  时间复杂度O(Nlogn)  空间复杂度O(1)  不稳定//思想:先建堆,建堆的过程是从下往上(调用调整函数),再进行调整(调整的过程是从上往下),//直到所有元素被调整完void HeapSort(int *arr,int len){if(NULL == arr)return;for(int i=(len-1-1)/2;i>=0;i--){Adjust(arr,i,len-1);}for(int i=0;i 
原创粉丝点击