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

ps做游戏下载网站有哪些制作百度移动网站

ps做游戏下载网站有哪些,制作百度移动网站,温州网站建设定制,各类网页设计插入排序链接。 这篇文章讲解交换排序的两种排序#xff1a;冒泡排序与快速排序。 目录 冒泡排序#xff1a;完整代码#xff1a; 快速排序#xff1a;单趟排序#xff1a;hoare#xff1a;挖坑#xff1a;前后指针#xff1a; 完整代码#xff08;3种方式#xff0…插入排序链接。 这篇文章讲解交换排序的两种排序冒泡排序与快速排序。 目录 冒泡排序完整代码 快速排序单趟排序hoare挖坑前后指针 完整代码3种方式 冒泡排序 冒泡排序简单不实用被誉为数据结构的“HelloWord”。 思想相邻元素两两比较根据升序或者降序每趟选出一个最值放在数组尾部 我们实现冒泡排序时先进行一趟冒泡排序这样容易控制整个程序 注意n为数组元素个数 for (int j 0; j n - 1; j) 为什么jn-1而不是jn因为我们会访问a[j1]故最大的J为n-2 {if (a[j] a[j 1]){Swap(a[j], a[j 1]);} }在进行完一趟后就可以嵌套一个for循环因为一趟可以确定一个元素位置故for (int i 0; i n; i) 最后我们想当确定一个元素的位置后下一次就可以不用管他故内层for循环再for (int j 0; j n - i - 1; j) 完整代码 void BubbleSort(int* a, int n) {for (int i 0; i n; i){for (int j 0; j n - i - 1; j){if (a[j] a[j 1]){Swap(a[j], a[j 1]);}}} }快速排序 先来数一下快排的整体思想升序 先选出一个关键值进行一次单趟排序 这趟排序是怎样的排序呢 只要确保关键值左边的比关键值小右边的比关键值大就算一趟排序 单趟排序完成后我们可以利用遍历二叉树的思想 最终完成排序也就是快排 单趟排序 既然主要部分是单趟排序那么就有多种单趟排序的办法这里我们只说最常用的三种 hoare hoare是快排的发明者故hoare自己搞了一个单趟排序 思想 选出一个key值最左边 right先走当 right 找到比 key 小的时候或遇到 left 时停止 left再走当 left 找到比 key 大的时候或遇到 right 时停止 当没有相遇时他们交换值 相遇后将key的值与left或right因为相遇时left right交换 此时完成单趟排序。 int PartSort1(int* a, int begin, int end) {int left begin;int right end;int keyi left;while (left right){while (left right a[right] a[keyi]){right--;}while (left right a[left] a[keyi]){left;}//相遇前left与right的值交换Swap(a[left], a[right]);}//相遇后Swap(a[keyi], a[right]);keyi left;//为什么return呢马上会讲解return keyi; }挖坑 挖坑法的思想整体与hoare一致不过有点差异。 思想 将最左边作为关键值同时作为坑的下标 同理right先走遇到比关键值小的或相遇时停下将right此时的值给坑right变成新的坑 left再走遇到比关键值大的或相遇时停下将left此时的值给坑left变成新的坑 当相遇时将key值给坑 这就是一趟排序 //挖坑 int PartSort2(int* a, int begin, int end) {int left begin;int right end;int key a[left];int holei left;while (left right){// 右边找小填到左边的坑while (left right a[right] key){right--;}a[holei] a[right];holei right;// 左边找大填到右边的坑while (left right a[left] key){left;}a[holei] a[left];holei left;}a[holei] key;return holei; }前后指针 前后指针的方法与前两者的思想不同。 分解成一步一步看到最后发现prev与cur之间的就是比key大的 最后将prev与key的值交换完成单趟排序 这是我们最提倡的一种根本思想就是 cur的值大于key时cur 当cur的值小于key时prev将prev与cur的值交换cur int PartSort3(int* a, int begin, int end) {int prev begin;int cur begin 1;int keyi begin;while (cur end){if (a[cur] a[keyi]){prev;Swap(a[prev], a[cur]);}cur;}Swap(a[prev], a[keyi]);return prev; }这里解释一下为什么会返回一个key的下标因为我们是单趟排序有多种方案 用下图代码实现快排更为方便 void QuickSort(int* a, int begin, int end) {if (begin end){return;}int keyi PartSort3(a, begin, end);//begin keyi endQuickSort(a, begin, keyi - 1);QuickSort(a, keyi 1, end); }完整代码3种方式 #include Sort.h #include stack.hvoid Swap(int* e1, int* e2) {int tmp *e1;*e1 *e2;*e2 tmp; } //hoare int PartSort1(int* a, int begin, int end) {int left begin;int right end;int mid (left right) / 2;int midi getmid(a, mid, left, right);Swap(a[left], a[midi]);int keyi left;while (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[keyi], a[right]);keyi left;return keyi; }//挖坑 int PartSort2(int* a, int begin, int end) {int left begin;int right end;int mid (begin - end) / 2;int midi getmid(a, mid, left, right);Swap(a[midi], a[left]);int key a[left];int holei left;while (left right){while (left right a[right] key){right--;}a[holei] a[right];holei right;while (left right a[left] key){left;}a[holei] a[left];holei left;}a[holei] key;return holei; }//前后指针 int PartSort3(int* a, int begin, int end) {int prev begin;int cur begin 1;int keyi begin;while (cur end){if (a[cur] a[keyi]){prev;Swap(a[prev], a[cur]);}cur;}Swap(a[prev], a[keyi]);return prev; }void QuickSort(int* a, int begin, int end) {if (begin end){return;}int keyi PartSort3(a, begin, end);//begin keyi endQuickSort(a, begin, keyi - 1);QuickSort(a, keyi 1, end); }欢迎讨论哦
http://www.pierceye.com/news/183016/

相关文章:

  • 网站菜单导航怎么做的网站没有备案怎么做支付
  • wordpress主题小程序如何做优化排名
  • 中企动力做网站费用多个域名 指向同一个网站
  • 怎么搭建小程序平台网站营销优化
  • 建设网站员工招聘策划方案软件开发的八个步骤
  • 怎样做cms电影网站赚钱网络营销需要学什么
  • wordpress快速仿站视频教程没有备案的网站会怎么样
  • 美团先做网站还是app惠州惠阳网站建设
  • 可以更改上传到网站的文件内容吗信用 网站 建设方案
  • 获奖设计网站公司制作网站价格表
  • 做单页免费模板网站我是做推广的怎么找客户
  • 企业网站建设的缺点网络营销最基本的应用方式是什么
  • 做cpa推广用哪种网站好上海h5网站开发
  • 怎样做免费网站推广怎么申请二级域名
  • 站长之家源码之家虚拟空间官网
  • 网站建设推荐书籍装修公司装修房子
  • 上海专业微信网站开发公司怎么做seo
  • 上海市质量工程建设管理协会网站网站后台源码
  • 淄博机关建设网站免费发布企业信息平台
  • 怎么注册网站免费的怎么给网站备案
  • 新公司 做网站 流程西安房价
  • 展厅设计软件珠海百度快速优化
  • 网站 关键词 地区seo对网络推广的作用是什么?
  • 网站建设 知乎wordpress woocommerce主题
  • 申请建设工作网站的函如何做网站词库
  • 化工集团网站建设 中企动力网站建设用的服务器
  • wow做宏的网站重庆网址大全
  • 网站建设试题 jsp炎陵做网站
  • 购物网站前台功能模块怀孕单子图片在线制作
  • 做百度推广和企业网站那个有效果吗互动的网站