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

wordpress 企业网站 教程广东省住房建设部网站

wordpress 企业网站 教程,广东省住房建设部网站,电商网站运营团队建设方案,动画网站源码这篇就从简单一点的一个“奇偶排序”说起吧,不过这个排序还是蛮有意思的,严格来说复杂度是 O(N2),不过在多核的情况下,可以做到 N2 /(m/2)的效率,这里的 m 就是待排序的个数,当 m100,复杂度为 N…

这篇就从简单一点的一个“奇偶排序”说起吧,不过这个排序还是蛮有意思的,严格来说复杂度是 O(N2),不过在多核的情况下,可以做到 N2 /(m/2)的效率,这里的 m 就是待排序的个数,当 m=100,复杂度为 N2 /50,还行把,比冒泡要好点,因为重点是解决问题的奇思妙想。
下面我们看看这个算法是怎么描述的,既然是奇偶,肯定跟位数有关了

  1. 先将待排序数组的所有奇数位与自己身后相邻的偶数位相比较,如果前者大于后者,则进行交换,直到这一趟结束。
  2. 然后将偶数位与自己身后相邻的奇数位相比较,如果前者大于后者,则进行交换,直到这一趟结束。
  3. 重复 1,2 的步骤,直到发现无“奇偶”,“偶奇” 交换的时候,就认为排序完毕,此时退出循环。
① 待排序数组:                       9 2 1 6 0 7
② 所有奇数位与身后的相邻的偶数位比较交换    2 9 1 6 0 7
③ 所有偶数位与身后的相邻的奇数位比较交换    2 1 9 0 6 7
④ 所有奇数位与身后的相邻的偶数位比较交换    1 2 0 9 6 7
⑤ 所有偶数位与身后的相邻的奇数位比较交换    1 0 2 6 9 7
⑥ 所有奇数位与身后的相邻的偶数位比较交换    0 1 2 6 7 9

我们可以看到,经过 5 趟排序后,我们的数组就排序完毕了,从图中 ② 可以看到,如果每个线程分摊一个奇数位,那交换是不是只要一次就够了呢,可以看到这个算法在多核处理下面还是很有优势的。
最后的运行代码:

 using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Xml.Xsl;namespace ConsoleApplication1{class Program{static void Main(string[] args){List<int> list = new List<int>() { 9, 2, 1, 6, 0, 7 };Console.WriteLine("\n排序前 => " + string.Join(",", list));list = OddEvenSort(list);Console.WriteLine("\n排序后 => " + string.Join(",", list));Console.Read();}static List<int> OddEvenSort(List<int> list){var isSorted = false;//如果还没有排序完,就需要继续排序,知道没有交换为止while (!isSorted){//先默认已经排序完了isSorted = true;//先进行 奇数位 排序for (int i = 0; i < list.Count; i = i + 2){//如果 前者 大于 后者,则需要进行交换操作,也要防止边界if (i + 1 < list.Count && list[i] > list[i + 1]){var temp = list[i];list[i] = list[i + 1];list[i + 1] = temp;//说明存在过排序,还没有排序完isSorted = false;}}//再进行 奇数位 排序for (int i = 1; i < list.Count; i = i + 2){//如果 前者 大于 后者,则需要进行交换操作,也要防止边界if (i + 1 < list.Count && list[i] > list[i + 1]){var temp = list[i];list[i] = list[i + 1];list[i + 1] = temp;//说明存在过排序,还没有排序完isSorted = false;}}}return list;}}}

image.png

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

相关文章:

  • wap建站软件西安百度推广开户多少钱
  • 新平台推广网站建设优化一体
  • 教你做cpa单页网站WordPress发送邮件按钮
  • 虚拟网站多少钱找人做网站注意
  • 张掖网站建设推广wordpress内置函数大全
  • 做网站网站加载内容慢怎么解决免费邮箱注册入口
  • 网站闭关保护怎么做如何设立微信公众号
  • 网站做淘宝推广收入高防服务器租用
  • 自助手机网站建站软件wordpress文件详情
  • 网站免备案google学术搜索
  • 珲春网站建设wordpress排版代码
  • 移动商城 网站建设方法方式河南做网站需要多少钱
  • 潍坊专业网站建设哪家好wordpress加密功能
  • wordpress明星资讯主题山东济南seo整站优化
  • 衡阳衡南网站建设西北旅游攻略
  • 亳州市网站建设公司关键词seo公司
  • 建设企业网站的意义信息化管理软件
  • 网站ico设计网站建设一流公司
  • 如何恢复网站首页的排名 站长wordpress模板资源
  • 简单的网站开发的软件摄影网站设计素材
  • 网站建设 中企动力医院哪个域名注册网站好
  • 网站系统目前运行稳定自己做网站 最好的软件下载
  • 做网站绑定域名 解析域名济南的网站制作公司
  • 重庆网站建设机构搜索网站存在的关键字
  • 织梦网站模板制作网站开发浏览器的使用
  • 织梦网站地图怎么做wordpress远程图片不能
  • 织梦网站地图修改河北云建站
  • 网站建设交流推广专业舆情公关公司
  • 网站开发字体选择划分切片来做网站
  • .net做网站开发吗wordpress is search