笔试题(快速排序)

网友投稿 236 2022-09-22

笔试题(快速排序)

// Quick_Sort.cpp : Defines the entry point for the application.// 快速排序算法//1.基准数//2.左边界和右边界数组下标//3.基准数归位//4.递归思想#includeusing namespace std; //快速排序算法(从小到大)//arr:需要排序的数组,begin:需要排序的区间左边界,end:需要排序的区间的右边界void quickSort(int *arr,int begin,int end){ //如果区间不只一个数 if(begin < end) { int temp = arr[begin]; //将区间的第一个数作为基准数 int i = begin; //从左到右进行查找时的“指针”,指示当前左位置 int j = end; //从右到左进行查找时的“指针”,指示当前右位置 //不重复遍历 while(i < j) { //当右边的数大于基准数时,略过,继续向左查找 //不满足条件时跳出循环,此时的j对应的元素是小于基准元素的 while(i temp) j--; //将右边小于等于基准元素的数填入右边相应位置 arr[i] = arr[j]; //当左边的数小于等于基准数时,略过,继续向右查找 //(重复的基准元素集合到左区间) //不满足条件时跳出循环,此时的i对应的元素是大于等于基准元素的 while(i

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:卖菜
下一篇:与刘诗诗同场热聊,却与杨幂互不理睬,唐嫣杨幂是怎么闹掰的?
相关文章

 发表评论

暂时没有评论,来抢沙发吧~