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

网站开发简历项目wordpress 政企

网站开发简历项目,wordpress 政企,wordpress安装504,天河高端网站建设一、合并排序(Merge Sort) 就是将多个有序数据表合并成一个有序数据表。如果参与合并的只有两个有序表#xff0c;那么称为二路合并。对于一个原始的待排序序列#xff0c;往往可以通过分割的方法来归结为多路合并排序。二、一个待排序的原始数据序列进行合并排序的基本思路是…一、合并排序(Merge Sort) 就是将多个有序数据表合并成一个有序数据表。如果参与合并的只有两个有序表那么称为二路合并。对于一个原始的待排序序列往往可以通过分割的方法来归结为多路合并排序。二、一个待排序的原始数据序列进行合并排序的基本思路是首先将含有n个结点的待排序数据序列看作有n个长度为1的有序子表组成将他们依次两两合并得到长度为2的若干有序子表;然后再对这些子表进行两两合并得到长度为4的若干有序子表; .......重复上述过程- -直重复到最后的子表长度为n从而完成排序过程。三、例子 ***********************************************************************/ // 归并排序分治法的典型代表: 将原问题分解了几个子问题解决子问题再合并子问题的解 // 这样就得到了原问题的解。 // 分治本质上就是把原问题分解为几个子问题来解决。 // 快速排序也是分治思想来解决。 // // // 归并排序(merge-sort): // 1. 把一个待排序的数组分解为两个子数组 // 2. 对两个子数组进行排序通过递归地调用自己来实现; // 3. 对两个已经排序的数组进行合并。 // // 分析 // 1. 一个数组一直分解下去只到分解成只包含一个元素的子数组为止, 此时自然是有序的 // 2. 归并排序的重点在于合并而不是对子数组的排序。快速排序与它恰恰相反快速排序的 // 重点是对子数组进行排序而不是合并因为它不需要合并了 // // #include cstring #include iostream typedef bool(*CompareFunc)(int, int); // 下面函数实现合并功能输入三个下标参数表示了两个子数组, :[nStart_, nMiddle)和[nMiddle, nEnd) void Merge(int array[], int nStart_, int nMiddle_, int nEnd_, CompareFunc comp) { if (array nullptr || nStart_ nMiddle_ || nMiddle_ nEnd_) return; // 建立一个临时数组存放中间数据 int _nIndex 0; int* _pTempArray new int[nEnd_ - nStart_]; // 对两个子数组进行合并 int _nStartChange nStart_; int _nMiddleChange nMiddle_; while (_nStartChange nMiddle_ _nMiddleChange nEnd_) { // 此处的if中比较语句的安排可以保持稳定排序的特性。 if (comp(array[_nMiddleChange], array[_nStartChange])) { _pTempArray[_nIndex] array[_nMiddleChange]; _nMiddleChange; } else { _pTempArray[_nIndex] array[_nStartChange]; _nStartChange; } _nIndex; } // 把不为空的子数组的元素追加到临时数 if (_nStartChange nMiddle_) { memcpy(_pTempArray _nIndex, array _nStartChange, sizeof(int) * (nMiddle_ - _nStartChange)); } else if (_nMiddleChange nEnd_) { memcpy(_pTempArray _nIndex, array _nMiddleChange, sizeof(int) * (nEnd_ - _nMiddleChange)); } else { /* do noting */ } // 数据交换 memcpy(array nStart_, _pTempArray, sizeof(int) * (nEnd_ - nStart_)); delete [] _pTempArray; _pTempArray nullptr; } // 归并排序功能实现函数 void MergeSort(int array[], int nStart_, int nEnd_, CompareFunc comp) { // 数组指针为空或者数组内的个数少于等于1个时直接返回。 if (nullptr array || (nEnd_ - nStart_) 1) return; // 划分为两个子数组并递归调用自身进行排序 int _nMiddle (nStart_ nEnd_) / 2; MergeSort(array, nStart_, _nMiddle, comp); MergeSort(array, _nMiddle, nEnd_, comp); // 合并排序完成的子数组 Merge(array, nStart_, _nMiddle, nEnd_, comp); } // 比较函数 bool less(int lhs, int rhs) { return lhs rhs; } // 打印数组函数 void PrintArray(int array[], int nLength_) { if (nullptr array || nLength_ 0) return; for (int i 0; i nLength_; i) { std::cout array[i] ; } std::cout std::endl; } /*************** main.c *********************/ int main(int argc, char* argv[]) { // 测试1 int array[10] {1, -1, 1, 231321, -12321, -1, -1, 123, -213, -13}; PrintArray(array, 10); MergeSort(array, 0, 10, less); PrintArray(array, 10); // 测试2 int array2[1] {1}; PrintArray(array2, 1); MergeSort(array2, 0, 1, less); PrintArray(array2, 1); // 测试3 int array3[2] {1, -1}; PrintArray(array3, 2); MergeSort(array3, 0, 2, less); PrintArray(array3, 2); return 0; }
http://www.zqtcl.cn/news/459187/

相关文章:

  • 邙山郑州网站建设好看手机网站推荐
  • 北京建设网官方网站外贸wordpress收款插件
  • 网站关键词进前三响应式手机网站模版
  • 网站采集来源制作好网站
  • 哪个网站有工笔教程免费物流公司网站模板
  • 网站怎么做才有收录西安建设工程信息网人员查询
  • 用dedecms做的网站电子商务公司名称大全简单大气
  • 网站建设的业务员wordpress font awesome
  • 艺术公司网站定制中心怎么搜索网站搜索量
  • 陕西网站建设设计公司西部数码网站管理助手破解版
  • 网站建设框架构建正规的app网站开发
  • 离退休工作网站建设方案wordpress在线浏览pdf
  • 昆明免费网站制作wordpress自定义路由
  • html5视频网站开发江西响应式网站制作
  • 网站照片加水印家装公司十大口碑排名
  • 做网站还有用PHP网站开发如何建立vip
  • 东莞广告公司东莞网站建设辽宁城乡建设部网站
  • 公司网站开发详细流程php网站开发优点
  • 广东网站建设多少钱比较大气的网站
  • asp.net怎么做登录网站网站建设服务网络服务
  • 网站备案级别做公司网站要多少钱
  • 湛江网站seo网站定制排名
  • 为什么网站之有首页被收录企业网站发布图片文章
  • 做网站要准备内蒙做网站
  • 邯郸市搞网站服务务的吗网站建设怎么在图片上加字
  • 卡片风格网站我想做跑腿网站怎么做
  • 公司网站建设前期情况说明如何找厂家地址
  • 超值的郑州网站建设wordpress 移除 新闻
  • 长春网络营销网站徐州手机模板建站
  • 微网站开发+在线商城建设局招标网站