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;
}

思路:

相关推荐
yaoxin52112314 小时前
434. Java 日期时间 API - Period 基于日期的时间段
java·开发语言·python
凡人叶枫15 小时前
Effective C++ 条款30:透彻了解 inlining 的里里外外
linux·开发语言·c++·嵌入式开发·effective c++
noipp15 小时前
推荐题目:洛谷 P10907 [蓝桥杯 2024 国 B] 蚂蚁开会
c语言·c++·算法·编程·洛谷
学逆向的15 小时前
C++纯虚函数
开发语言·c++·网络安全
程序员二叉16 小时前
【JUC】ThreadLocal底层原理|内存泄漏|弱引用|跨线程传递方案
java·开发语言·面试·职场和发展·juc
程序员二叉16 小时前
【JUC】线程池全套深度详解|参数|流程|拒绝策略|调优|异常处理
java·开发语言·jvm·算法·面试·juc
青山木16 小时前
Hot 100 --- 轮转数组
java·数据结构·算法
凡人叶枫16 小时前
Effective C++ 条款22:将成员变量声明为 private
linux·开发语言·c++
Qt程序员16 小时前
掌握 Linux 内核调度:从原理到实现(进程篇)
java·开发语言
code bean16 小时前
【LangChain】检索器完全指南:从向量检索到生产级 RAG 架构
java·开发语言·微服务