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

思路:

相关推荐
叶小鸡29 分钟前
Java 篇-项目实战-AI 天机学堂(从 0 到 1)-day1
java·开发语言
浅念-1 小时前
LeetCode 回溯算法题——综合练习
数据结构·c++·算法·leetcode·职场和发展·深度优先·dfs
楼田莉子2 小时前
C++17新特性:__had_include/属性/求值顺序规则
开发语言·c++·后端
香蕉鼠片2 小时前
Python进阶学习
开发语言·python
摇滚侠3 小时前
Java 零基础全套教程,File 类与 IO 流,笔记 177-178
java·开发语言·笔记
ytttr8733 小时前
OPC UA 协议栈 C 语言实现
c语言·开发语言·mfc
song5013 小时前
Ascend C 算子开发:从入门到上手
c语言·开发语言·图像处理·人工智能·分布式·flutter·交互
小a杰.3 小时前
Ascend C编程语言进阶:高性能算子开发技巧
android·c语言·开发语言
全糖可乐气泡水3 小时前
Codex适配国产信创环境安装部署与技术适配全解析
开发语言·git·python·算法·百度
雨落在了我的手上3 小时前
初始java(十):类和对象(⼆)
java·开发语言