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

免费网站安全潍坊网络科技

免费网站安全,潍坊网络科技,百度优化,网站开发技术选型个人主页:Lei宝啊 愿所有美好如期而遇 目录 归并排序递归实现 归并排序非递归实现 归并排序递归实现 图示: 代码: 先分再归并,像是后序一般。 //归并排序 void MergeSort(int* arr, int left, int right) {int* temp (int…

个人主页:Lei宝啊 

愿所有美好如期而遇


目录

归并排序递归实现

归并排序非递归实现


归并排序递归实现

图示:

代码:

先分再归并,像是后序一般。

//归并排序
void MergeSort(int* arr, int left, int right)
{int* temp = (int*)malloc(sizeof(int) * (right));if (temp == NULL){perror("malloc fail");}_MergeSort(arr, temp, left, right - 1);free(temp);
}void _MergeSort(int* arr, int* temp, int left, int right)
{if (left >= right)return;int mid = (left + right) / 2;int begin1 = left;int begin2 = mid + 1;int end1 = mid;int end2 = right;_MergeSort(arr, temp, left, mid);_MergeSort(arr, temp, mid + 1, right);int index = left;while (begin1 <= end1 && begin2 <= end2){if (arr[begin1] < arr[begin2]){temp[index++] = arr[begin1++];}else{temp[index++] = arr[begin2++];}}while (begin1 <= end1){temp[index++] = arr[begin1++];}while (begin2 <= end2){temp[index++] = arr[begin2++];}memcpy(arr + left, temp + left, sizeof(int) * (right - left + 1));
}

归并排序非递归实现

这里的非递归实现不可借助栈实现,因为返回去的时候,不能使之有序。

代码:

//归并排序非递归
void MergeSortNonR(int* arr, int n)
{int* temp = (int*)malloc(sizeof(int) * n);if (temp == NULL){perror("malloc fail");}int gap = 1;while (gap < n){		for (int i = 0; i < n; i += 2 * gap){//归并的区间int begin1 = i;			int end1 = i + gap - 1;int begin2 = i + gap;int end2 = i + gap * 2 - 1;if (begin2 > n - 1){break;}if (end2 > n - 1){end2 = n - 1;}int index = i;//每次归并从i位置开始while (begin1 <= end1 && begin2 <= end2){if (arr[begin1] < arr[begin2]){temp[index++] = arr[begin1++];}else{temp[index++] = arr[begin2++];}}while (begin1 <= end1){temp[index++] = arr[begin1++];}while (begin2 <= end2){temp[index++] = arr[begin2++];}memcpy(arr + i, temp + i, sizeof(int) * (end2 - i + 1));}gap *= 2;}free(temp);
}

时间复杂度O(n*logn),空间复杂度O(N);

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

相关文章:

  • 惠州网站建设公司公司做网站的步骤
  • 湖南建立网站营销策划哈尔滨网站建设哪个好
  • 济南设计网站wordpress使用老的编辑器
  • 网站评论 设计这些奥运新闻得了中国新闻奖
  • 免费人物素材网站sem和seo是什么职业岗位
  • 张家港建网站费用wordpress 语言包
  • 知名网站域名广州安全教育网登录平台
  • 网站开发加盟中兴建设云南有限公司网站
  • 百度优化只做移动网站没有pc站蚌埠市建设学校网站
  • 哈尔滨建设网站的免费咨询制作网站的基本步骤
  • 北京pk10网站开发北京12345微信公众号
  • 网站设计的思想七零三八零四温州论坛
  • 福州专业做网站的公司长沙新能源建站补贴
  • vue响应式网站开发清河做网站哪家好
  • 安徽省住房和城乡建设工程信息网关键词优化排名平台
  • 陕西网站建设技术方案企业网站主页 优帮云
  • 广州优化网站沈阳有什么网站
  • 徐州丰县建设局网站怎么搜索别人的wordpress模板
  • 仿朋友圈网站建设wordpress主题特色功能
  • 深圳 学习网站本地佛山顺德网站建设
  • 济南网站建设公司川芎网络html5网站欣赏
  • 网站建设网店名字联通北京网站备案
  • 万网网站如何建设python 转wordpress
  • 网站后台管理系统素材网站建设报价东莞
  • 微网站 功能模板简历
  • 网站建设洛阳中英文切换网站开发
  • wordpress区分移动站找别人做网站需要什么信息
  • 个人音乐分享网站源码佛山网站建设网络推广
  • 网站 文件夹 上传中国域名网官网查询
  • 东莞网站建设制作哪家好wordpress固定连接优化