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

思路:

相关推荐
2601_962071574 小时前
【Java报错已解决】org.springframework.beans.factory.BeanCreationException
java·开发语言
淡海水5 小时前
07-04-并发-ConcurrentBag-T-工作窃取WorkStealing算法
开发语言·算法·c#·bag·concurrent·workstealing
CS_Zero5 小时前
C语言sizeof是函数吗?
c语言·开发语言
-今昭-6 小时前
《V2V 迁移实战:将 VMware 虚拟机转为 OpenStack 可用 Glance qcow2 镜像》
开发语言·python
kiracrimson7 小时前
从缓存的角度看链表与线性表的差异
数据结构·链表·缓存
黑马程序员毕设8 小时前
基于Java的医院药品管理系统的优化设计与实现
java·开发语言·spring boot·小程序·架构·课程设计·毕设
心抵鹊9 小时前
归并排序之翻转对(hard)
数据结构·算法
_Twink1e9 小时前
openJiuwen 实训营 Day 1 · WorkSwarm 入门教程
开发语言·c++·openjiuwen
问天_观心9 小时前
大模型微调学习(一)
开发语言·人工智能·学习·语言模型·github
阿里嘎多学长9 小时前
2026-09-03 GitHub 热点项目精选
开发语言·程序员·github·代码托管