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

北京经济适用房做网络优化的公司排名

北京经济适用房,做网络优化的公司排名,以及在增加外链时应当注意什么?,wordpress 自定义文章排序引言:归并排序跟快速排序一样,都运用到了分治的算法,但是归并排序是一种稳定的算法,同时也具备高效,其时间复杂度为O(N*logN) 算法图解: 然后开始归并: 就是这个思想,拆成最小子问题…

引言:归并排序跟快速排序一样,都运用到了分治的算法,但是归并排序是一种稳定的算法,同时也具备高效,其时间复杂度为O(N*logN)

算法图解: 

 

 然后开始归并:

 

 就是这个思想,拆成最小子问题后再进行归并(两个有序数组的排序问题)

下面是代码:

 

void merge_sort(int* arry, int size) {//保证接口一致性,再调子函数assert(arry);int* tmp = (int*)malloc(sizeof(int) * size);_merge(arry, 0, size - 1,tmp);//_merge2(arry, 0, size - 1, tmp);free(tmp);
}
void _merge(int* arry, int left, int right, int* tmp) {if (right - left <= 0)return;int mid = left + (right - left >> 1);//找到中间值//递归,拆分子问题_merge(arry, left, mid, tmp);_merge(arry, mid + 1, right, tmp);merge_arry(arry, left, mid, mid + 1, right, tmp);
}
void merge_arry(int* arry, int begin1, int end1, int begin2, int end2, int* tmp) {int index = begin1;int left = begin1;int right = end2;while (begin1 <= end1 && begin2 <= end2) {if (arry[begin1] < arry[begin2]) {tmp[index++] = arry[begin1++];}else {tmp[index++] = arry[begin2++];}}if (begin1 <= end1) {for (int i = begin1; i <= end1; i++) {tmp[index++] = arry[i];}}else {for (int i = begin2; i <= end2; i++) {tmp[index++] = arry[i];}}//再拷贝回原数组for (int i = left; i <= right; i++) {arry[i] = tmp[i];}
}

上面是它的递归实现,那么思考如何使用非递归实现呢?

 

 同时要控制grap的循环次数,grap小于等于数组大小即可

下面是代码:

void _merge2(int* arry, int left, int right, int* tmp) {int grap = 1;while (grap<=right+1) {for (int i = left; i <= right; i += 2 * grap) {int begin1 = i, end1 = i + grap - 1;int begin2 = i + grap, end2 = i + 2 * grap - 1;if (end1 > right)end1 = right;if (end2 > right)end2 = right;merge_arry(arry, begin1, end1, begin2, end2, tmp);}grap = grap * 2;}}
void merge_sort(int* arry, int size) {assert(arry);int* tmp = (int*)malloc(sizeof(int) * size);//_merge(arry, 0, size - 1,tmp);_merge2(arry, 0, size - 1, tmp);free(tmp);
}

http://www.ds6.com.cn/news/49701.html

相关文章:

  • 电商网站会员体制怎么做百度移动端优化
  • 互联网建站肇庆网站制作软件
  • 国字类型网站有哪些内容安卓嗅探app视频真实地址
  • 网站的风格与布局的设计方案网络维护培训班
  • 襄阳法院网站建设链交换反应
  • 装饰公司加盟点击精灵seo
  • 网站维护广州建网站青岛运营网络推广业务
  • 生物医药网站建设宁波优化网页基本流程
  • 微网站注意事项seo快速优化方法
  • 怎样做网站推广网站自己推广
  • wordpress再安装seo优化顾问服务阿亮
  • 怎样做服装网站活动营销的方式有哪些
  • 医疗医院网站建设百度快照投诉中心官网
  • 吉林省建设信息网站关键词优化营销
  • 邮箱地址注册入口泉州百度推广排名优化
  • 中企动力做的网站怎么登陆怎么查网站是不是正规
  • dede网站url采集自己想做个网站怎么做
  • 网站独立页面seo 页面
  • 个人网站 做啥好百度手机关键词排名工具
  • 免费怎样搭建网站sem与seo的区别
  • 温州营销网站制作费用首页百度
  • 霞浦县网站seo优化排名百度信息流账户搭建
  • 谷德设计网站做引流推广的平台
  • web网站开发技术爱站工具包怎么使用
  • 负责公司网站产品的开发及整理百度关键字排名软件
  • 建设网站企业银行适合小学生的新闻事件
  • 怎样看一个网站是谁做的最新网站查询工具
  • 有什么网站可以做电台seo工作
  • 厦门网站建设方案服务百度seo分析工具
  • 怎么用域名进网站电商seo名词解释