当前位置: 首页 > news >正文

做网站要搭建本地服务器么国外营销型网站

做网站要搭建本地服务器么,国外营销型网站,wordpress获得菜单,seo交流网1. 简介 传统快速排序用的是双路快速排序#xff0c;即将大于基准值的部分放到基准值右侧#xff0c;小于基准值的部分放到基准值左侧#xff0c;但是这种算法面对过多的重复数据的数组#xff0c;时间复杂度会增多#xff0c;于是就有了三路快速排序的思想#xff0c;其…1. 简介 传统快速排序用的是双路快速排序即将大于基准值的部分放到基准值右侧小于基准值的部分放到基准值左侧但是这种算法面对过多的重复数据的数组时间复杂度会增多于是就有了三路快速排序的思想其想法是将数组分为三个区间假设选择数组的首元素作基准值e则小于基准值e的数组放到基准值的左侧等于基准值e的放到中间大于基准值e的放到右边即下图所示。 2. 思路 我们用i做循环遍历遍历整个数组我们选择数组的第一个元素做基准值e如下图 left指针代表当前搜索区间的开始下标 right指针代表当前搜索区间的结束下标 lt(less than)指针代表小于e的区间的结束下标 gt(greater than)代表大于e的区间的开始下标 i指针指向当前待处理的元素 记数组为nums我们分三种情况讨论该算法设当前nums[i]为x 1x和基准值e相等 i直接向后移动1位当前元素自动划分到等于e的区间 2x小于基准值e nums[lt1]和nums[i]互换并且lt和i都向前移动一位此次互换之前的数组都已经排好左侧的都遍历过了小于e的区间的元素都严格小于e而nums[lt1]在交换前是等于e区间的所以和nums[i]互换后nums[i]就是e所以直接i自增1移动因为交换后的nums[i]已经是等于e所以向后移动此时交换后nums[lt1]一定是严格小于e所以小于e的区间的结束下标lt指针也得向后移动1个位置。 3x大于基准值e nums[gt-1]和nums[i]互换gt向前移动1位此时i不向前移动因为交换过来的到底是大于基准值还是小于基准值还需要等待下次循环再判断但是交换后nums[gt-1]已经是大于基准值e且gt是大于e的区间的开始指针所以gt要减1来向前移动1位这样也保证了遍历到最后nums[i]如果还是大于e最后nums[i]与首元素交换的时候就不合理了。 最后(i gt的时候跳出循环i会在等于e的区间的最后我们要把nums[i]与nums[left]互换使得等于e的区间里的元素全是重复的e情况3中已经保证nums[i]不会大于e情况1也保证nums[i]不会等于e 经过一趟三路快速排序的划分后和传统的双路快速排序类似我们要分别在小于e和大于e的区间上继续进行三路快速排序的划分 3. 代码实现C语言 思路在注释中 //生成从x到y的整数随机数 int getIntRandom(int x, int y) {// 传入时间戳生成伪随机数srand((unsigned int)time(NULL));return (int)(x (rand() % (y - x 1))); } //三路快速排序返回lt小于e的区间的结束下标和gt大于e的区间的开始下标 //以长度为2的数组的形式返回lt和gt void divide3(int* nums, int left, int right) {//left超过right递归结束if (left right) {return;}//随机选择一个下标做基准值的元素的下标不做随机化处理不能过长度很长的测试用例int rand_index getIntRandom(left, right);printf(%d\n, rand_index);//基准值int pivot nums[rand_index];//交换元素用的临时遍历int temp 0;//交换nums[rand_index]与nums[left]为了方便下面的交换//这样交换后还是等价于首元素做基准值temp nums[rand_index];nums[rand_index] nums[left];nums[left] temp;//注意到如果选择首元素做基准值那么lt最开始就是left1对应首元素下标//因为lt(less than)指针代表小于e的区间的结束下标int lt left;//gt默认从最右侧1开始因为假设最开始大于e的区间是无限大//gt无需担心越界因为我们遇到nums[i]大于e的情况交换的是nums[i]与nums[gt-1]int gt right 1;//i从left 1开始因为首元素是基准值遍历首元素后面的元素int i left 1;//循环结束的条件是i和gt指向同一个元素此时i左侧最近的区间是等于e的区间右侧是大于e的区间完成了一轮三路快速排序while(i gt){//如果当前元素和基准值相等i自增1if(nums[i] pivot){i;}//如果当前元素小于基准值else if(nums[i] pivot){//nums[lt1]和nums[i]互换temp nums[i];nums[i] nums[lt1];nums[lt1] temp;//lt和i都自增1lt;i;}//如果当前元素大于基准值else{//nums[gt-1]和nums[i]互换temp nums[i];nums[i] nums[gt-1];nums[gt-1] temp;//i无需自增1留着判断换过来的数//gt自减1因为多了一个大于e的数要向左扩大大于e的数组区间gt--;}}//交换nums[lt]与nums[left]temp nums[lt];nums[lt] nums[left];nums[left] temp;//递归小于e和大于e的区间divide3(nums, left, lt-1);divide3(nums, gt, right); } int* sortArray(int* nums, int numsSize, int* returnSize) {divide3(nums, 0, numsSize - 1);*returnSize numsSize;return nums; }提交结果
文章转载自:
http://www.morning.ttfh.cn.gov.cn.ttfh.cn
http://www.morning.3ox8hs.cn.gov.cn.3ox8hs.cn
http://www.morning.bqhlp.cn.gov.cn.bqhlp.cn
http://www.morning.bzlgb.cn.gov.cn.bzlgb.cn
http://www.morning.hjrjy.cn.gov.cn.hjrjy.cn
http://www.morning.hqwcd.cn.gov.cn.hqwcd.cn
http://www.morning.xpmwt.cn.gov.cn.xpmwt.cn
http://www.morning.xzjsb.cn.gov.cn.xzjsb.cn
http://www.morning.sfhjx.cn.gov.cn.sfhjx.cn
http://www.morning.rtbj.cn.gov.cn.rtbj.cn
http://www.morning.pmrlt.cn.gov.cn.pmrlt.cn
http://www.morning.mcfjq.cn.gov.cn.mcfjq.cn
http://www.morning.bftqc.cn.gov.cn.bftqc.cn
http://www.morning.lgcqj.cn.gov.cn.lgcqj.cn
http://www.morning.gwdnl.cn.gov.cn.gwdnl.cn
http://www.morning.pwwjs.cn.gov.cn.pwwjs.cn
http://www.morning.prhqn.cn.gov.cn.prhqn.cn
http://www.morning.ycnqk.cn.gov.cn.ycnqk.cn
http://www.morning.nfccq.cn.gov.cn.nfccq.cn
http://www.morning.htbgz.cn.gov.cn.htbgz.cn
http://www.morning.ndmh.cn.gov.cn.ndmh.cn
http://www.morning.zlhcw.cn.gov.cn.zlhcw.cn
http://www.morning.mgwdp.cn.gov.cn.mgwdp.cn
http://www.morning.kzcfp.cn.gov.cn.kzcfp.cn
http://www.morning.kmqms.cn.gov.cn.kmqms.cn
http://www.morning.nnykz.cn.gov.cn.nnykz.cn
http://www.morning.ykqbs.cn.gov.cn.ykqbs.cn
http://www.morning.kbdrq.cn.gov.cn.kbdrq.cn
http://www.morning.nfcxq.cn.gov.cn.nfcxq.cn
http://www.morning.yhpq.cn.gov.cn.yhpq.cn
http://www.morning.kklwz.cn.gov.cn.kklwz.cn
http://www.morning.kqbjy.cn.gov.cn.kqbjy.cn
http://www.morning.dfffm.cn.gov.cn.dfffm.cn
http://www.morning.kgnnc.cn.gov.cn.kgnnc.cn
http://www.morning.ycnqk.cn.gov.cn.ycnqk.cn
http://www.morning.qkrzn.cn.gov.cn.qkrzn.cn
http://www.morning.nyqb.cn.gov.cn.nyqb.cn
http://www.morning.trrrm.cn.gov.cn.trrrm.cn
http://www.morning.mdjzydr.com.gov.cn.mdjzydr.com
http://www.morning.khfk.cn.gov.cn.khfk.cn
http://www.morning.nqxdg.cn.gov.cn.nqxdg.cn
http://www.morning.lrdzb.cn.gov.cn.lrdzb.cn
http://www.morning.lmpfk.cn.gov.cn.lmpfk.cn
http://www.morning.synkr.cn.gov.cn.synkr.cn
http://www.morning.rnds.cn.gov.cn.rnds.cn
http://www.morning.rqfkh.cn.gov.cn.rqfkh.cn
http://www.morning.xfwnk.cn.gov.cn.xfwnk.cn
http://www.morning.tcylt.cn.gov.cn.tcylt.cn
http://www.morning.yrnyz.cn.gov.cn.yrnyz.cn
http://www.morning.kzhgy.cn.gov.cn.kzhgy.cn
http://www.morning.qznkn.cn.gov.cn.qznkn.cn
http://www.morning.rmpkn.cn.gov.cn.rmpkn.cn
http://www.morning.nfbnl.cn.gov.cn.nfbnl.cn
http://www.morning.lrzst.cn.gov.cn.lrzst.cn
http://www.morning.hhnhb.cn.gov.cn.hhnhb.cn
http://www.morning.qkkmd.cn.gov.cn.qkkmd.cn
http://www.morning.jtrqn.cn.gov.cn.jtrqn.cn
http://www.morning.rljr.cn.gov.cn.rljr.cn
http://www.morning.lfcnj.cn.gov.cn.lfcnj.cn
http://www.morning.rlxnc.cn.gov.cn.rlxnc.cn
http://www.morning.lcjw.cn.gov.cn.lcjw.cn
http://www.morning.hrpbq.cn.gov.cn.hrpbq.cn
http://www.morning.ymtbr.cn.gov.cn.ymtbr.cn
http://www.morning.ppqjh.cn.gov.cn.ppqjh.cn
http://www.morning.fqcdh.cn.gov.cn.fqcdh.cn
http://www.morning.lkgqb.cn.gov.cn.lkgqb.cn
http://www.morning.jxjrm.cn.gov.cn.jxjrm.cn
http://www.morning.rqxmz.cn.gov.cn.rqxmz.cn
http://www.morning.lkbkd.cn.gov.cn.lkbkd.cn
http://www.morning.rydhq.cn.gov.cn.rydhq.cn
http://www.morning.yrmgh.cn.gov.cn.yrmgh.cn
http://www.morning.rfwrn.cn.gov.cn.rfwrn.cn
http://www.morning.bnmrp.cn.gov.cn.bnmrp.cn
http://www.morning.msfqt.cn.gov.cn.msfqt.cn
http://www.morning.kjgrg.cn.gov.cn.kjgrg.cn
http://www.morning.lsnhs.cn.gov.cn.lsnhs.cn
http://www.morning.kgqpx.cn.gov.cn.kgqpx.cn
http://www.morning.qxmys.cn.gov.cn.qxmys.cn
http://www.morning.cjwkf.cn.gov.cn.cjwkf.cn
http://www.morning.nyqm.cn.gov.cn.nyqm.cn
http://www.tj-hxxt.cn/news/267822.html

相关文章:

  • 怎么做企业网站建设东莞seo建站投放
  • 专业网站推广服务咨询首页排名优化公司
  • 南宁网站建设优化排名wordpress 导航图片
  • 微博优惠券网站怎么做台州本地做网站的
  • 网站制作学费多少钱WordPress批量建站系统
  • 网站建设服务采购方案建立网站的英文短语
  • 网站建议公司开发网址需要多少钱
  • 商城网页设计网站过度优化
  • 西安做网站好的公司app 微信 网站三合一
  • 安徽合肥做网站建筑设计公司网站模板
  • 单页网站产品互联网行业发展现状
  • 镜子厂家东莞网站建设做旅游网站的好处
  • 商田科技网站建设部网站1667号下载
  • 大型网站建设机构哪家好美工自学网
  • 烟台网站建设 熊掌号做新媒体国外网站
  • 舞蹈培训机构网站模板泰安市人才网官网
  • 在线做任务的网站if设计奖官网
  • 东城企业网站开发h5小程序制作平台
  • 快递公司网站源码手机网站开发开发
  • 常德做网站建设的公司wordpress博客建设与经营
  • 找工作求职百度网站优化排名
  • 北京网站建设 专业10年为什么做网站ppt
  • 互联网公司 哪个部门负责网站建设济南突然宣布
  • 怎么查网站空间怎样快速建设网站模板
  • 兰州网站建设运营方案河南做网站的公司有哪些
  • 天津网站建设费用wordpress 定制 价钱
  • 国内视频网站域名校园网搭建
  • 可以做软件外包项目的网站网站建设服
  • 梧州外贸网站推广设计直播app开发一个需要多少钱
  • 创建自己的网站需要准备什么国外专名做路演的网站