首页 > 其他 > 详细

提高快排性能的方法

时间:2021-08-22 23:23:13      阅读:23      评论:0      收藏:0      [点我收藏+]

1.打乱数组顺序,从数组最后一位开始,每次随机生成一个前i位的索引,将该位置和对应位置交换

   for(int i = arr.size() - 1; i >= 0; i--){
       int index = rand()%i + 1;
       if(i != index){
	   swap(arr[i], arr[index]);
       }
   }

2.每次排序时,不使用第一个或者最后一个数作为基数,而是采用随机函数生成的索引进行选择

提高快排性能的方法

原文:https://www.cnblogs.com/zesn/p/15173777.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!