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

竹子建站邀请码个人建网站的费用

竹子建站邀请码,个人建网站的费用,百度惠生活商家怎么入驻,长沙seo优化服务链接奉上:合并两个有序数组 目录 直接合并后排序:思路:代码实现: 双指针思路:代码实现: 直接合并后排序: 思路: 将nums2直接合并到nums1后边,并进行排序 代码实现&…

链接奉上:合并两个有序数组
在这里插入图片描述

目录

  • 直接合并后排序:
    • 思路:
    • 代码实现:
  • 双指针
    • 思路:
    • 代码实现:

直接合并后排序:

思路:

将nums2直接合并到nums1后边,并进行排序

代码实现:

#include<stdlib.h>int cmp(void* e1,void* e2)
{return *((int*)e1)-*((int*)e2);
}void merge(int* nums1,int numsSize1, int m,int* nums2, int numsSize2,int n)
{int j = 0;for(int i = m; i < numsSize1;i++){nums1[i] = nums2[j++];}qsort(nums1,numsSize1,4,cmp);
}

双指针

思路:

我们发现nums1nums2已经是排序了的。
为了利用这一性质,我们可以使用双指针方法。
这一方法将两个数组看作队列,每次从两个数组头部取出比较小的数字放到结果中。

代码实现:

初版:

void merge(int* nums1,int numsSize1, int m,int* nums2, int numsSize2,int n)
{int arr[numsSize1];int count1 = 0;int count2 = 0;int i = 0;if(n < 1)//若n<1,进行判断时会发生越界现象;else{while(1){   //当count1+count2相加等于numssize1说明数组arr已经装满了//就可以跳出循环if(count1 + count2 == numsSize1){break;}//这两个goto语句是为了防止nums1超出m时后会判断失误//或者nums2超出n时越界if(count1 == m)goto flag2;if(count2 == n)goto flag1;if(nums1[count1] <= nums2[count2]){flag1:arr[i++] = nums1[count1++];}else{flag2:arr[i++] = nums2[count2++];}}for(int i = 0; i < numsSize1; i++){nums1[i] = arr[i];}}
}

进阶版:
我们发现初版的代码包含了goto语句,逻辑判断也比较令人摸不到头脑
于是

void merge(int* nums1, int nums1Size, int m, int* nums2, int nums2Size, int n) {int p1 = 0, p2 = 0;int sorted[m + n];int cur;while (p1 < m || p2 < n) {if (p1 == m) {cur = nums2[p2++];}else if (p2 == n) {cur = nums1[p1++];}else if (nums1[p1] < nums2[p2]) {cur = nums1[p1++];}else {cur = nums2[p2++];}sorted[p1 + p2 - 1] = cur;}for (int i = 0; i != m + n; ++i) {nums1[i] = sorted[i];}
}

这段代码业务逻辑就更加清晰,我们也要学习这样的代码风格,

欢迎讨论。

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

相关文章:

  • 住房城乡建设部网站主页怎样建设尧都水果网站
  • seo顾问服务公司站长wordpress auth key
  • 淄博学校网站建设定制前端开发主要做什么
  • php和asp做网站哪个好嘉兴网站建设品牌升级
  • 建设银行发卡银行网站商城开发建设
  • 用asp.net 做网站做商业广告有什么网站好推销的
  • 专业网站开发企业青岛做网站
  • 网站开发经济可行性分析工商局官网登录
  • 做抖音风的网站wordpress新建文章模型
  • 赤峰做网站的公司台州椒江网站制作公司
  • 黔江网站建设网站建设广州市
  • 企业网站设计合同互联网营销师证书怎么考
  • 网站开发什么比较有创意网站可以做库存吗
  • 网站建设费公司网站能否申请国外免费空间
  • 做网站要固定ip秦皇岛建设银行
  • 新营销平台电商网站作品集用什么网站做
  • 自己怎么建个网站赚钱吗官网微信
  • 帝国网站管理系统前台应聘ui设计师自我介绍
  • 哪里有免费建设网站最火的网络销售平台
  • 多种网站建设全国建设部网站官网
  • 西部数码网站管理助手serv-u默认密码腾云网
  • 网站建设及优化 赣icp重庆市建设领域农民工工资专户网站
  • WordPress 如何去域名授权昆明seo培训
  • 郑州网站建设开发交互式网站设计
  • 佛山住房和城乡建设部网站paypal网站集成
  • 陇西 网站建设怎么把自己电脑建设网站
  • 可以个人做单的猎头网站怎么用腾讯云服务器做网站
  • 北京首钢建设有限公司网站天元建设集团有限公司六大板块
  • 时装网站的建设sns社交网站源码
  • 网站建设技术人员招聘小程序制作需要什么技术