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

可克达拉市网站建设_网站建设公司_网站开发_seo优化

网站设计公司建设网站,凡客建站网,网站建设手机端页面模板,网易企业邮箱客户端设置算法定义 合并排序是一种递归算法#xff0c;思路如下#xff1a; 如果源数组长度为 1#xff0c;立即返回。将源数组平分为两个新数组#xff1a;Left 和 Right。对 Left 执行递归排序。对 Right 执行递归排序。将排序后的 Left 和 Right 执行合并到原数组。可以看出来思路如下 如果源数组长度为 1立即返回。将源数组平分为两个新数组Left 和 Right。对 Left 执行递归排序。对 Right 执行递归排序。将排序后的 Left 和 Right 执行合并到原数组。可以看出来改算法的重点是已排序数组的合并过程。 算法举例 【54321】 【543】【21】 【54】【3】【21】 【5】【4】【3】【21】 【45】【3】【21】 【345】【21】 【345】【2】【1】 【345】【12】 【12345】 算法实现 1 using System;2 using System.Collections.Generic;3 using System.Linq;4 using System.Text;5 using System.Threading.Tasks;6 7 namespace DataStuctureStudy.Sorts8 {9 class MergeSortT 10 where T : IComparableT 11 { 12 private static void Swap(T[] items, int left, int right) 13 { 14 if (left ! right) 15 { 16 var temp items[left]; 17 items[left] items[right]; 18 items[right] temp; 19 } 20 } 21 22 public static void Sort(T[] items) 23 { 24 if (items.Length 2) 25 { 26 return; 27 } 28 29 int leftSize items.Length / 2; 30 int rightSize items.Length - leftSize; 31 32 T[] left new T[leftSize]; 33 T[] right new T[rightSize]; 34 35 Array.Copy(items, 0, left, 0, leftSize); 36 Array.Copy(items, leftSize, right, 0, rightSize); 37 38 Sort(left); 39 Sort(right); 40 Merge(items, left, right); 41 } 42 43 private static void Merge(T[] items, T[] left, T[] right) 44 { 45 var leftIndex 0; 46 var rightIndex 0; 47 48 for (var i 0; i items.Length; i) 49 { 50 if (leftIndex left.Length) 51 { 52 items[i] right[rightIndex]; 53 rightIndex; 54 } 55 else if (rightIndex right.Length) 56 { 57 items[i] left[leftIndex]; 58 leftIndex; 59 } 60 else if (left[leftIndex].CompareTo(right[rightIndex]) 0) 61 { 62 items[i] left[leftIndex]; 63 leftIndex; 64 } 65 else 66 { 67 items[i] right[rightIndex]; 68 rightIndex; 69 } 70 } 71 } 72 } 73 } 合并过程 已排序数组的合并过程比较有意思分别对 Left 和 Right 维护一个从左到右的指针分别是leftIndex 和 RightIndex当填充目标数组的第 i 个元素时需要从 Left 和 Right 中找到剩余元素指针到末尾部分的元素的最小值因为是已排序数组只需比较 Left[LeftIndex] 和 Right[RightIndex] 的大小将最小的元素填充到目标数组的第 i 个位置即可然后相应的指针加 1。  转载于:https://www.cnblogs.com/happyframework/p/3464645.html
http://www.ihoyoo.com/news/57027.html

相关文章:

  • 郑州做网站哪家好软件系统开发与设计
  • 创建电子商务网站南通网站快照优化公司
  • 网站开发的进度怎么写做程序教程网站赚钱吗
  • 怎么上线网站dns加网站
  • 海阳网站制作域名的网站建设方案书
  • 湖北专业网站建设七台河新闻联播2021
  • 公司网站制作有哪些做印章网站
  • 滁州网站建设信息推荐酒店营销推广方案
  • 深圳最好的网站建设公司哪家好新开传奇网站999
  • 无锡建设信息中心网站现在网站都是拿什么软件做的
  • 购物网站的建设思维导图软文推广套餐
  • 山西旅游网站建设东莞做网站乐云seo
  • 建设工程业绩补录 网站app定制开发报价
  • 珠海建站服务潍坊做网站的
  • 濮阳建设公司网站推广单页网站免费制作
  • 开做网站的公司 条件公众号开发价钱
  • 怎么评价网站做的好坏西安网站建设建站系统
  • php的网站数据库如何上传win10搭建wordpress
  • 闽侯做网站十堰网站建设_网站制作_软件开发_网店培训 优易
  • discuz做电影网站小广告模板
  • 崇信网站建设上海法资企业名录
  • 做网站能用python吗网站开发设计注册
  • 怎么在手机上做网站wordpress仪表盘关闭
  • 定制网站开发成本估算表个人域名怎么做网站
  • aspcms建站哈尔滨网站搭建
  • 东莞市小程序定制开发丨网站建设网站的优化和推广方案怎么写
  • 建设网站哪个好吉林seo基础
  • 宠物网站建设策划书二级a做爰片免费视网站
  • 虚拟主机部署网站搜索引擎作弊的网站有哪些
  • 惠州做棋牌网站建设多少钱小程序商城使用教程