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

网站推广的步骤网站建设捌金手指下拉六

网站推广的步骤,网站建设捌金手指下拉六,2021年最新热点素材,重庆做网站的公司回顾递归的快速排序,都是先找到key中间值,然后递归左区间,右区间。 那么是否可以实现非递归的快排呢?答案是对的,这里需要借助数据结构的栈。将右区间左区间压栈(后进先出),然后取出…

        回顾递归的快速排序,都是先找到key中间值,然后递归左区间,右区间。

        那么是否可以实现非递归的快排呢?答案是对的,这里需要借助数据结构的。将右区间左区间压栈(后进先出),然后取出左区间,再将左区间的子右区间和子左区间压栈,再取出左区间的子左区间......,当栈为空时,即全部取出,此时已经有序。f2411c060f1945129eabf66cf4da911c.png

5b3c8442dda544c1a16c2f3b9d702693.png 

 

        和递归一样,首先用三数取中来优化:

//三数取中
int GetMidi(int* arr, int begin, int end)
{int midi = (begin + end) / 2;if ((arr[begin] > arr[midi] && arr[begin] < arr[end])|| (arr[begin]) > arr[end] && arr[begin] < arr[midi])midi = begin;if ((arr[end] > arr[midi] && arr[end] < arr[begin])|| (arr[end]) > arr[begin] && arr[end] < arr[midi])midi = end;return midi;
}

        接着借用递归快排的指针法,来进行单趟排序,得到中间基准值,并划分做右区间(不记得指针法的回看博客)

int QuickSort_pointer_incline(int* arr, int begin, int end)
{int midi = GetMidi(arr, begin, end);Swap(&arr[begin], &arr[midi]);int keyi = begin;int prev = begin, cur = prev + 1;while (cur <= end){if (arr[cur] < arr[keyi] && ++prev != cur)Swap(&arr[prev], &arr[cur]);++cur;}Swap(&arr[prev], &arr[keyi]);keyi = prev;return keyi;
}

        最后使用栈来压栈出栈

void QuickSort_NonR_incline(int* arr, int begin, int end)
{ST s;STInit(&s);//放入端点//因为后进先出,所以先入右,后入左,区间[左,右]STPush(&s, end);STPush(&s, begin);while (!STEmpyty(&s)){//出栈int left = STTop(&s);STPop(&s);int right = STTop(&s);STPop(&s);//指针单趟排序int keyi = QuickSort_pointer_incline(arr, left, right);//[left,keyi-1],keyi,[keyi+1,right]//入右区间,同样先入右区间的右端点,再左端点if (keyi + 1 < right){STPush(&s, right);STPush(&s, keyi + 1);}//入左区间,同样先入左区间的右端点,再左端点if (left < keyi - 1){STPush(&s, keyi - 1);STPush(&s, left);}//循环回去,又取出区间,再次单趟排序后,又入子右区间,子左区间}STDestroy(&s);
}

 

 

http://www.yayakq.cn/news/427228/

相关文章:

  • 网站生成海报功能怎么做的用h5做网站是什么意思
  • 綦江网站建设织梦可以做哪些类型型网站
  • 秦皇岛网站排名手机网站建站软件
  • 招商网站建设哪家好南通高端网站设计建设
  • 找工作的网站平台做新网站都需要准备什么
  • 做地图的网站网站开发所遵循
  • 城乡建设部网站自助商品房wordpress主题微信小程序
  • 网站建设找哪里光谷网站建设公司
  • 一般电商网站做集群做网站软件是什么下载
  • 住房和城乡建设部网站建筑合同做宽带销售网站
  • 天猫建设网站的目的中国seo谁最厉害
  • 农村学校资源网站建设与研究wordpress菜单不兼容
  • 进出口贸易公司网站建设用我在线网站建设
  • 网站开发模块化开发龙山县建设局网站
  • 网站组网图wordpress-5.2.1
  • 企业网站怎样做什么网站详情页做的好
  • 国外网站在国内做镜像站点寻找集团网站建设
  • 佛山网站建设与设计公司wordpress分类目录模板制作
  • 满洲里建设局网站首页深圳市深圳市住房和建设局网站
  • wordpress网站好用吗360网页游戏大厅
  • 鹰潭网站商城建设黄骅港旅游景点
  • 如何免费建设自己稳定的网站哈尔滨网站建设公司有哪些
  • 网站实名审核石家庄住房城乡建设厅网站
  • 做网站赚钱吗 怎么赚平面网页设计培训教程
  • 微信官方网站注册网站建设哪个
  • 用jsp和mysql做网站慈溪网站开发
  • 网站后台任务传奇手游发布网址传奇
  • 垂直网站建设步骤wordpress专业
  • 网站建设公司 上海网站开发行业资讯
  • 网站优化排名提升唐山网站设计