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

手机网站开发需要哪些技术上海网站建设信息网

手机网站开发需要哪些技术,上海网站建设信息网,网页设计代码含js,西安注册网络公司引言:在上一篇中我们详细介绍了快速排序和改进,并给出了其中的一种实现方式-挖坑法 但其实快速排序有多种实现方式,这篇文章再来介绍其中的另外两种-左右指针法和前后指针法。有了上一篇挖坑法的启示,下面的两种实现会容易许多。 …

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

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

 一、左右指针法

 首先进行“三数取中”

 

 

这样就完成了比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.yayakq.cn/news/205425/

相关文章:

  • 东莞勒流网站制作精确定时器 wordpress
  • 广东企业网站seo哪家好山东省旅游网站建设
  • 建设网站不显示添加白名单成都市成华区建设局网站
  • 安徽网站建设案例拼多多网站怎么做
  • 网站目录遍历wordpress所见即所得
  • 建设一个购物网站流程公司怎么做网页网站
  • 网站建设方案和报价高端品牌网站建设明细报价报
  • 深圳flash网站建设如何搭建一个网站
  • 联通营业厅做网站维护型云网站建设
  • 镇江网站制作咨询网站策划技巧
  • 网站建设服务市场趋势丽江手机网站建设
  • 网站建设教程突酒店小程序定制开发
  • 即墨网站建设即墨北京新闻最新消息报道
  • 袜子的网站建设方案东莞网络营销平台
  • 做情趣导航网站可以吗网站维护一般做什么
  • 网站建设Skype打不开应用软件开发专业
  • 陕西网站推广费用网址导航2345
  • 河南省汝州市建设网站网站域名如何备案信息
  • 自己制作网站的方法wordpress5.2发布
  • 网站架构包含哪几个部分石家庄旅游景点
  • 网站域名做注册废旧网站哪个做的最好
  • 都用什么软件做网站wordpress logo位置
  • 网站设计论文题目望京做网站的公司
  • o2o网站开发框架爱站网络科技有限公司
  • 成都市做网站的公司微信公众平台官网入口
  • 开发网站多少钱一个月wordpress怎么编辑代码
  • 网站构建流程wordpress 登录 新窗口
  • 网站开发广告百度竞价托管公司
  • 个人商城网站能备案吗百度地图人工电话
  • 编程猫官方网站入口广州做网站报价