c语言- 有序序列合并

题目 :

代码:

cpp 复制代码
#define _CRT_SECURE_NO_WARNINGS
#define MAX 1000
#include <stdio.h>

int main() {
    int n, m;
    // 1. 读取两个序列的长度n和m
    scanf("%d %d", &n, &m);

    // 2. 定义并读取两个有序数组
    int a[MAX] = { 0 }, b[MAX] = { 0 };
    for (int i = 0; i < n; i++) {
        scanf("%d", &a[i]);
    }
    for (int i = 0; i < m; i++) {
        scanf("%d", &b[i]);
    }

    // 3. 双指针法合并两个有序数组
    int i = 0, j = 0;
    while (i < n && j < m) {
        if (a[i] <= b[j]) {
            printf("%d ", a[i++]);
        }
        else {
            printf("%d ", b[j++]);
        }
    }

    // 4. 处理剩余元素
    while (i < n) {
        printf("%d ", a[i++]);
    }
    while (j < m) {
        printf("%d ", b[j++]);
    }

    return 0;
}

思路:

相关推荐
勿忘,瞬间7 分钟前
多线程之进阶修炼
java·开发语言
Morwit32 分钟前
【力扣hot100】 1. 两数之和
数据结构·c++·算法·leetcode·职场和发展
hoiii18736 分钟前
CSTR反应器模型的Simulink-PID仿真(MATLAB实现)
开发语言·matlab
炘爚1 小时前
C++ 右值引用与程序优化
开发语言·c++
si莉亚1 小时前
ROS2安装EVO工具包
linux·开发语言·c++·开源
清心歌2 小时前
CopyOnWriteArrayList 实现原理
java·开发语言
良木生香2 小时前
【C++初阶】C++入门相关知识(2):输入输出 & 缺省参数 & 函数重载
开发语言·c++
忘梓.2 小时前
墨色规则与血色节点:C++红黑树设计与实现探秘
java·开发语言·c++
hhh3u3u3u2 小时前
Visual C++ 6.0中文版安装包下载教程及win11安装教程
java·c语言·开发语言·c++·python·c#·vc-1
星河耀银海2 小时前
C++ 模板进阶:特化、萃取与可变参数模板
java·开发语言·c++