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

中国手机网站建设公司自媒体平台

中国手机网站建设公司,自媒体平台,风水网站建设,做国际贸易有哪些平台归并排序考啥? 在考研中归并排序只出在选择题,理解原理很重要 且在考研中考两两归并,还是比较简单的 归并排序原理 就是每次分一半,直到每一半只含有一个或不能再分时,一半一半的进行排序,最终合并两个…

归并排序考啥?

在考研中归并排序只出在选择题,理解原理很重要

且在考研中考两两归并,还是比较简单的

归并排序原理

就是每次分一半,直到每一半只含有一个或不能再分时,一半一半的进行排序,最终合并两个有序的数组

9001f34b71b8460cbf4ba9a18b0c5890.png

代码实战

//核心代码
void merge(int nums[],int low,int mid,int high)
{//合并数组两个有序的数组static int tmp[N];//创建一个和元数组一样大的数组进行合并,//加上static关键字是为了在递归过程中只创建一次for(int t=low;t<=high;t++){tmp[t]=nums[t];//把当前low到high数据全部拷贝在临时数组中}//这里都是下标,所以可以等于int i,j,k;//注意k是合并数组的起始下标即low,千万别错for(k=low,i=low,j=mid+1;i<=mid && j<=high; k++){if(tmp[i]<=tmp[j]){nums[k]=tmp[i++];}else{nums[k]=tmp[j++];}}//判断单独多余的那个,因为不知道哪一半数据是比另一半多的//所以要都判断while(i<=mid){nums[k++]=tmp[i++];}while(j<=high){nums[k++]=tmp[j++];}}void merge_sort(int nums[],int low,int high)
{if(low < high){int mid = (low+high)/2;merge_sort(nums,low,mid);merge_sort(nums,mid+1,high);merge(nums,low,mid,high);}
}

 可运行代码

#include<stdio.h>
#include<string.h>
#include<time.h>
#include<stdlib.h>
#define N 10
void swap(int &a,int &b)
{int tmp=a;a=b;b=tmp;
}void rangnums(int nums[],int len)
{srand(time(NULL));//初始化数组printf("初始化数组:");for(int i=0;i<len;i++){nums[i]=rand()%100+1;printf("%d ",nums[i]);}puts("");
}void print(int a[],int len)
{for(int i=0;i<len;i++){printf("%d ",a[i]);}puts("");
}void merge(int nums[],int low,int mid,int high)
{//合并数组两个有序的数组static int tmp[N];//创建一个和元数组一样大的数组进行合并,//加上static关键字是为了在递归过程中只创建一次for(int t=low;t<=high;t++){tmp[t]=nums[t];//把当前low到high数据全部拷贝在临时数组中}//这里都是下标,所以可以等于int i,j,k;//注意k是合并数组的起始下标即low,千万别错for(k=low,i=low,j=mid+1;i<=mid && j<=high; k++){if(tmp[i]<=tmp[j]){nums[k]=tmp[i++];}else{nums[k]=tmp[j++];}}//判断单独多余的那个,因为不知道哪一半数据是比另一半多的//所以要都判断while(i<=mid){nums[k++]=tmp[i++];}while(j<=high){nums[k++]=tmp[j++];}}void merge_sort(int nums[],int low,int high)
{if(low < high){int mid = (low+high)/2;merge_sort(nums,low,mid);merge_sort(nums,mid+1,high);merge(nums,low,mid,high);}
}int main()
{int a[N]={92 ,79 ,49, 59, 86 ,38, 94, 64, 92, 3};// rangnums(a,10);merge_sort(a,0,9);print(a,10);}

 

时间复杂度

O(nlog2n)

空间复杂度

o(n)

 

http://www.tj-hxxt.cn/news/50588.html

相关文章:

  • 济南建设网站的公司吗百度培训
  • 先做网站还是先做appseo营销推广
  • 建站宝盒可以做视频聊天交友网站吗长沙网站排名推广
  • wordpress q8hpk优化公司排名
  • 广州互助网站开发百度seo关键词排名 s
  • 河南网站推广怎么做网页设计
  • 个人可以做导购网站吗最简单的营销方案
  • 广州十大活动策划公司谷歌aso优化
  • html+css网站模板高级搜索引擎技巧
  • 上海网站建设网页制网站域名查询官网
  • wordpress格行代码6周口seo
  • 外贸公司 网站安卓手机优化
  • 平面设计可以做网站西安网络推广
  • php js做网站安卓系统优化app
  • 做网站费用怎么入账百度平台客服电话是多少
  • 济南网站制作服务新乡seo推广
  • 只用js可以做网站吗企业网站seo服务
  • 2015做哪些网站能致富百度站长联盟
  • 什么网站做招聘效果好小程序模板
  • 做我韩国连续剧网站信息流优化
  • 平面设计素材网站有哪些嘉兴关键词优化报价
  • 电商网站建设阿里云seo优化教程自学
  • 完整个人网站开发案例seo广州工作好吗
  • WordPress网站自媒体模板seo搜索引擎优化书籍
  • sns bbs网站建设简单的网页设计源代码
  • 长治网站建设哪家好网络推广公司有哪些
  • 广东广州电脑个人建站搜狗网页搜索
  • 用帝国cms做企业网站版权百度网盘搜索引擎网站
  • 怎样注册网站帐号申请seo挂机赚钱
  • 如何用nat123做网站我要学电脑哪里有短期培训班