zoukankan      html  css  js  c++  java
  • 两个有序数列的合并

    题目描述

    已知数组a中有m个按升序排列的元素,数组b中有n个按降序排列的元素,编程将a与b中的所有元素按降序存入数组c中。

    输入

    输入有两行,第一行首先是一个正整数m,然后是m个整数;第二行首先是一个正整数n,然后是n个整数,m, n均小于等于1000000。

    输出

    输出合并后的m+n个整数,数据之间用空格隔开。输出占一行。

    样例输入

    4 1 3 5 7 3 6 4 2

    样例输出

    7 6 5 4 3 2 1

    提示

    试图排序的孩子们要小心了~~~~~~

     1 # include <stdio.h>
     2 # define N 1000010
     3 int a[N], b[N], c[2 * N];
     4 int main ()
     5 {
     6     int i, j, k, m, n, flag = 0;
     7     scanf("%d", &m);
     8     for (i = m - 1; i >= 0; i--)
     9         scanf("%d", &a[i]);
    10  
    11     scanf("%d", &n);
    12     for (j = 0; j < n; j++)
    13         scanf("%d", &b[j]);
    14     i = 0;
    15     j = 0;
    16     k = 0;
    17     while (i < m && j < n)
    18     {
    19         if (a[i] > b[j])
    20             c[k++] = a[i++];
    21         else
    22             c[k++] = b[j++];
    23     }
    24     while (i < m)
    25         c[k++] = a[i++];
    26     while (j < n)
    27         c[k++] = b[j++];
    28     for (i = 0; i < k; i++)
    29     {
    30         if (flag == 0)
    31             printf("%d", c[i]);
    32         else
    33             printf(" %d", c[i]);
    34         flag = 1;
    35     }
    36     printf("
    ");
    37     return 0;
    38 }
  • 相关阅读:
    uniapp版本迭代
    上传图像裁剪功能
    uniapp 复制到剪切板
    uniapp吸顶功能
    地图导航到目的地
    uniapp视频图片上传
    获取昨天今天明天的时间
    【VUE】 前端面试题小结
    vue获取当前时间 实时刷新
    CSS linear-gradient() 函数
  • 原文地址:https://www.cnblogs.com/yishilin/p/4347963.html
Copyright © 2011-2022 走看看