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

链家网站开发网页设计的摘要怎么写

链家网站开发,网页设计的摘要怎么写,如何开发软件app,wordpress注册邮箱发送文章目录 一、创始人托尼霍尔的快速排序二、挖坑法三、前后指针法 所属专栏:C初阶 引言#xff1a;这里所说的快速排序有三种#xff0c;第一种是霍尔大佬自创的#xff0c;还有一种叫做挖坑法#xff0c;另外一种叫前后指针法 一、创始人托尼霍尔的快速排序 1.这里我们先… 文章目录 一、创始人托尼·霍尔的快速排序二、挖坑法三、前后指针法 所属专栏:C初阶 引言这里所说的快速排序有三种第一种是霍尔大佬自创的还有一种叫做挖坑法另外一种叫前后指针法 一、创始人托尼·霍尔的快速排序 1.这里我们先把中间值定位数组中的首元素的值设为key变量大于key的放右边小于key的放左边 2.定义left为从数组0下标开始找大于key的数如果小于keyleft就向前走一步定义right从数组下标为n-1的位置从右向左找小于key的数从最右边的数开始如果大于keyright就向后走一步 3.这里我们还要判断谁先和谁相遇也就是谁走到相等的位置而那个人是停止的) 如果left先走那么left与right相遇的地方就是left走遇到right(相遇的地方的值是大于key的) 如果right先走那么left与right相遇的地方就是right走遇到left(相遇的地方的值是小于key的) #define _CRT_SECURE_NO_WARNINGS 1 #includestdio.h void Swap(int* p1,int* p2) {int tmp *p1;*p1 *p2;*p2 tmp; } int QuickSort(int left,int right,int* a) {int keyi left;int end right;//判断谁先走的问题我们把大于a[keyi]的放左边//小于a[keyi]的放右边等于的话就不管//这里要判断谁先走的问题//如果left先走那么left与right相遇的地方就是left走遇到right//如果right先走那么left与right相遇的地方就是right走遇到leftwhile (left right){//右边找小while(left right a[right] a[keyi])right--;//左边找大while(left right a[left] a[keyi])left;Swap(a[left], a[right]);}Swap(a[left], a[keyi]);return left; }void TestSort(int* a, int begin,int end) {if (begin end)//当只有一个数时不用排序直接返回return;//霍尔大佬的排序int keyi QuickSort(begin, end ,a);TestSort(a, begin,keyi-1);TestSort(a, keyi1,end); } int main() {int a[] {6,1,2,7,9,3,4,5,10,8};TestSort(a, 0, sizeof(a) / sizeof(int) - 1);for (int i 0; i sizeof(a) / sizeof(int); i)printf(%d , a[i]);return 0; }这里的排序就像是二叉树的遍历大家可以参考前面的代码 排序区间【beginkeyi-1】keyi 【keyi1,end】keyi为中间值已经排好序了 二、挖坑法 步骤如下 1.这里的挖坑从a[left]开始是第一个坑然后right寻找小于keya[left]的值找到了这个坑就跑到a[right]去了同时要交换一下下标holeright 2.然后就从left开始找大于key的值找到了那么就是第二个坑hole就跳到了left的位置holeleft 3.以此类推直到leftright的时候此时的坑就在leftright的地方然后a[hole]key此时的key就是中间值不需要排了 int QuickSort(int left,int right,int* a) {int key a[left];int end right;int hole left;while (left right){//右边找小while(left right a[right] key)right--;a[hole] a[right];hole right;//左边找大while(left right a[left] key)left;a[hole] a[left];hole left;}a[hole] key;return left; }三、前后指针法 步骤如下 1.首先定义一个前指针prev和一个后指针cur 2.然后cur先向前走如果大于key那么继续向前走prev不向前走如果小于key那么prev和cur同时向前走总的来说cur一直是向前走的prev只在cur位置小于key才向前走的 3.以此类推直到curend就不走了 int QuickSort3(int left, int right, int* a) {int key a[left];int prev left;int cur left 1;while (cur right){if (a[cur] key prev ! cur)Swap(a[prev],a[cur]);cur;}//最后这里的a[prev]一定是一个小于key的值//所以需要和key这个中间值换一下以达到key已经排好序Swap(a[prev], a[left]);return prev; }
http://www.hkea.cn/news/14452281/

相关文章:

  • 电脑系统做的好的网站好乌市地区建设工程门户网站
  • 企业网站后端模板免费搜索引擎推广方法有哪些
  • 浙江建设干部学校网站北京好的做网站公司
  • 网站建设的目的模板三亚本地网站建设
  • 万盛集团网站建设wordpress怎么搭建网站
  • 邯郸网站设计费用怎样下一本wordpress
  • 湖南株洲建设局网站网络监控管理系统
  • elementui 做的网站人工智能培训机构排名
  • 做网站数据库怎么建wordpress rtmp
  • 池州网站建设开发wordpress 社区插件
  • 建设网站管理规定网站后台策划
  • 成都投资网站建设东莞建设网站流程
  • 百度公司网站排名怎么做凡科网站源码下载
  • 网站 展示idea的网站开发登录页面
  • 福州专业网站搭建排名网站建设运城
  • 建站市场分析徐州免费建站模板
  • 做网站用的腾讯云服务器装修公司企业网站开发规划
  • 网站建设目标规划二次开发收费需要高点
  • 做国际网站的上海高端网站公司阿里云轻量级服务器搭建wordpress
  • 建设网站安全措施高端制造股十大龙头
  • 制作网站登录做毕业设计资料网站
  • 杭州比较好的网站建设公司网站建设培训班
  • 网上设计接单的网站商标注册查询网官网查询
  • 做瑜珈孕妇高清图网站网络营销名词解释是什么
  • 网站建设书籍推荐永州网页设计
  • 网站表现形式岳阳市官网
  • 黑客怎么入侵网站wordpress 过滤插件
  • 域名访问网站山东省住房建设厅网站
  • 建设部网标准下载网站怎么自己制作网页新闻
  • 网站建设进程方案一建