如何做网站聚合页,海南省城乡建设厅网站,3e网站建设,网站的域名和ip地址如何重新解析完整代码#xff1a;
#includestdio.h//用第一个元素将待排序序列划分成左右两个部分#xff0c;返回排序后low的位置#xff0c;即枢轴的位置
int partition(int arr[],int low,int high){//让待排序序列中的第一个元素成为基准int pivotarr[low];//lowhigh代表一…完整代码
#includestdio.h//用第一个元素将待排序序列划分成左右两个部分返回排序后low的位置即枢轴的位置
int partition(int arr[],int low,int high){//让待排序序列中的第一个元素成为基准int pivotarr[low];//lowhigh代表一次划分完成while (lowhigh){//从待排序序列的右边往左找//找到一个比基准小的元素循环就结束while (lowhighpivotarr[high]){high--;}//让比基准小的元素移动到左边arr[low]arr[high];//从待排序序列的左边往右找//找到一个比基准大的元素循环就结束while (lowhighpivotarr[low]){low;}//让比基准大的元素移动到右边arr[high]arr[low];}//让基准元素成为枢轴此时枢轴左边都是比它小的元素枢轴右边都是比它大的元素arr[low]pivot;//返回枢轴return low;
}//快速排序
//在区间中挑选第一个元素作基准将小于基准的元素放在基准之前大于基准的元素放在基准之后再分别对小数区与大数区进行排序
//对于这两个区间就可以采用递归调用方式再次进行排序
void quick_sort(int arr[],int low,int high){//lowhigh代表一趟排序完成if (lowhigh){//pivot作为划分左右两个区间的枢轴即左子表 枢轴 右子表int pivotpartition(arr,low,high);//划分左子表quick_sort(arr,low,pivot-1);//划分右子表quick_sort(arr,pivot1,high);}
}int main(){int arr[10]{3,2,1,7,5,9,8,4,10,6};quick_sort(arr,0,10);for (int i 0; i 10; i){printf(%d ,arr[i]);}return 0;}
运行截图