博客
关于我
[88]. 合并两个有序数组(C语言)
阅读量:301 次
发布时间:2019-03-04

本文共 747 字,大约阅读时间需要 2 分钟。

给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组。

说明:

  • 初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。
  • 你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。

示例:

输入:

nums1 = [1,2,3,0,0,0], m = 3
nums2 = [2,5,6], n = 3

输出:[1,2,2,3,5,6]

提示:

-10^9 <= nums1[i], nums2[i] <= 10^9

nums1.length == m + n
nums2.length == n

来源:力扣(LeetCode)

链接:

解题思路

思路:先合并后排序

  • 首先合并两个数组,将数组2的元素全部追加到数组1有效数字的后面。
    nums1=123000->nums1=123256
  • 对合并后的数组采取冒泡排序的方法排成有序数组
    nums1=123256->122356

代码:

void merge(int* nums1, int nums1Size, int m, int* nums2, int nums2Size, int n){       //1.将nums2存入到nums1中    for(int i=m,j=0;i
nums1[j+1]) { int temp=nums1[j]; nums1[j]=nums1[j+1]; nums1[j+1]=temp; } } }}

在这里插入图片描述

转载地址:http://bbiq.baihongyu.com/

你可能感兴趣的文章
【C++简明教程】Python和C++指定元素排序比较
查看>>
视觉实战|使用人工神经网络进行图像分类
查看>>
3D感知技术及实践
查看>>
北大读博手记:怎样完成自己的博士生涯?非常具有指导性!
查看>>
世界上有哪些代码量很少,但很牛逼很经典的算法或项目案例?
查看>>
基于OpenCV实战:对象跟踪
查看>>
干货|python基础知识总结
查看>>
RegExp正则表达式-基本语法
查看>>
JavaScript 性能优化-防抖和节流
查看>>
属性闭包求解算法——数据库考试复习
查看>>
砍树问题(二分法)
查看>>
poj3260The Fewest Coins
查看>>
poj3617
查看>>
poj3069
查看>>
Day161.索引优化分析①[慢SQL、Join查询、索引简介、Explain性能分析] -MySql高级
查看>>
Day243.JWT结合SpringSecurity -springsecurity-jwt-oauth2
查看>>
Java洛谷P5461 赦免战俘讲解
查看>>
关于 form表单 嵌套问题的解决方案
查看>>
论转发与重定向参数传递问题(jsp+servlet项目开发遇到的问题)
查看>>
Android—— log.e(),log.d(),log.i()等的区别
查看>>