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

合适的网站建设明细报价表3seo

合适的网站建设明细报价表,3seo,用flash做网站建设,返利网站开发计划书引言:在上一篇中我们详细介绍了快速排序和改进,并给出了其中的一种实现方式-挖坑法 但其实快速排序有多种实现方式,这篇文章再来介绍其中的另外两种-左右指针法和前后指针法。有了上一篇挖坑法的启示,下面的两种实现会容易许多。 …

引言:在上一篇中我们详细介绍了快速排序和改进,并给出了其中的一种实现方式-挖坑法

但其实快速排序有多种实现方式,这篇文章再来介绍其中的另外两种-左右指针法和前后指针法。有了上一篇挖坑法的启示,下面的两种实现会容易许多。

 一、左右指针法

 首先进行“三数取中”

 

 

这样就完成了比4小的在左边,比4大的在右边。

就继续递归就好了。

下面是代码:

int mid_quick_number(int* arry, int left, int right) {int mid = left + (right - left >> 1);//去中间数防止普通求中间数溢出问题,//同时注意优先级,+ -的优先级高于》《if (arry[mid] > arry[left]) {if (arry[right] > arry[mid]) {mid = mid;}else if(arry[right]>arry[left]){mid = right;}else {mid = left;}}else {if (arry[right] < arry[mid]) {mid = mid;}else if (arry[right] > arry[left]) {mid = left;}else {mid = right;}}return mid;
}
//左右指针法
void dfs_quick_sort2(int* arry, int left, int right) {if ((right - left) <= 0)return;int mid = mid_quick_number(arry, left, right);swap(arry + mid, arry + left);int key = arry[left];int start = left;int end = right;while (start < end) {while (start < end && key <= arry[end]) {end--;}//右指针去找比key小的,停下while (start < end && key >= arry[start]) {start++;}//左指针去找大的,停下swap(arry + start, arry + end);//交换大的和小的}swap(arry + end, arry+left);//最后两个指针重合,将key与right或左的值交换dfs_quick_sort2(arry, left, start - 1);dfs_quick_sort2(arry, start + 1, right);
}

二、前后指针法

 

 

这样就可以把它拆分成两段,在对这两段进行递归即可。

 下面来看代码:

//前后指针法
void dfs_quick_sort3(int* arry, int left, int right) {if ((right - left) <= 0)return;int mid = mid_quick_number(arry, left, right);swap(arry + mid, arry + left);int key = arry[left];int cur = left;int pre = left - 1;while (cur <= right) {while (cur <= right && arry[cur] >= key) {cur++;}if (cur <= right) {pre++;swap(arry + cur, arry + pre);}}if (pre == left-1)pre++;dfs_quick_sort3(arry, left, pre);dfs_quick_sort3(arry, pre + 1, cur - 1);
}

好了,这是本篇文章的所有内容了,希望对你有所帮助!

http://www.hrbkazy.com/news/36097.html

相关文章:

  • 大连seo皮皮360优化大师最新版的功能
  • 做网站运营难吗深圳抖音推广公司
  • 武汉鑫灵锐网站建设易思企业网站管理系统
  • 迪奥网络营销方式谷歌seo服务
  • 营销策划书范文1000字湖南seo博客seo交流
  • 个人网站服务器租用怎么做链接推广产品
  • 网站百度收录变少seo怎么推排名
  • 北京网站建设电话关键词优化百家号
  • 自己网站做第三方支付日本域名注册
  • 怎么给自己的品牌做网站怎么用手机创建网站
  • 做网站的为什么一直拖微信营销的方法有哪些
  • 响应式网站和自适应网站上海关键词优化报价
  • WordPress推荐引擎广州百度搜索优化
  • 怎么做图片展示网站竞价托管哪家公司好
  • 做平面设计用什么网站素材多怎么制作个人网站
  • 满足客户的分销管理系统某网站seo诊断分析和优化方案
  • 本地装修网山西seo顾问
  • 商城网站后续费用福州百度seo代理
  • 超市网站建设石家庄关键词优化软件
  • 网页版梦幻西游探案任务攻略珠海百度seo
  • 工业设计的概念是什么南宁网站seo
  • 加密系统厦门seo测试
  • 网站开发需要兼容到ie几软文的本质是什么
  • 深圳做网站上海最大的seo公司
  • 潢川网站建设公司企业营销网站制作
  • 网站建设行业赚钱么游戏推广员是做什么的
  • gcms是什么意思长沙网站优化推广
  • 做wish选品参考什么网站游戏代理加盟平台
  • 微信商城网站怎么做seo网站推广服务
  • 手机网站建设策划书怎么让客户主动找你