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

百度蜘蛛网站wordpress定时发布文章

百度蜘蛛网站,wordpress定时发布文章,镇江企业网站设计开发价格,wordpress 外贸 插件链接奉上:合并两个有序数组 目录 直接合并后排序:思路:代码实现: 双指针思路:代码实现: 直接合并后排序: 思路: 将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/55514/

相关文章:

  • 网站开发框架书籍网站企业建站
  • 做网站难吗?高端网站定制方案
  • 推广网站的步骤wordpress+手动备份
  • 建立一个企业网站灰色关键词网站建设
  • 创建一个新的公司网站做服装搭配图的网站
  • 余杭住房和城乡建设局网站怎么制作图片相册
  • 科技未来网站建设设计好的免费网站建设
  • 个人网站介绍源码靖江市住房和城乡建设局的网站
  • 网站301多久项目经历怎么填写
  • 订阅号做流量 那些电影如何链接网站二级a做爰片免费视网站
  • 网站建设土豆视频教程盐城市城乡建设门户网站
  • 做网站什么价位wordpress播放器mu38
  • 外贸网站建站赚钱中华住房与城乡建设厅网站
  • 网站免费php空间申请一级域名做网站的好处
  • 大理建设工程信息网站网站建设与维护理解
  • 建设网站用哪种语言广东网站建设商家
  • 网站建设费用预算表、学校英文网站建设
  • 盐城网站建设建站wordpress详细功能
  • 沈阳定制网站做网站经常用的字体有哪些
  • 如何建设网站内容大连微信网站开发
  • 网站设计的要求有哪些网站模板下载之后怎么做
  • 滨江建设工程网站平台公司工作总结
  • wordpress 免费企业网站 模板下载查看网站历史页面
  • 会用wordpress建站阿里云市场网站建设
  • 嘉定公司网站设计微商怎么做
  • 做网站为什么要域名 解析绑定网站设计建设维护与更新
  • 个人公众号怎么赚钱郴州seo公司
  • 徐州网站app开发深圳网站建设那家好
  • 网站已运行时间代码汽车网站建设模板
  • 网站图片宽度推广代理公司