C语言每日一题

简介: C语言每日一题

今天分享的是一道牛客网上面的题目,链接在下面

有序序列合并

这道题做法有很多,最简单的是合并一起,然后用排序就行了,今天将一个最高效的办法,思路是两个数组第一项进行比较,小的先输出,输出的那个数组的下标往后移动,然后再进行比较,如果是另一个数组小,那先输出那个,然后那个数组下标往后移动,依次这样,就能把两个数组合并进行输出了。

#include<stdio.h>
int main()
{
  int arr1[1000];
  int arr2[1000];
  int n = 0;
  int m = 0;
  scanf("%d %d", &n, &m);
  int i = 0;
  for (i = 0; i < n; i++)
  {
    scanf("%d ", &arr1[i]);
  }
  for (i = 0; i < m; i++)
  {
    scanf("%d ", &arr2[i]);
  }
  int j = 0;
  i = 0;
  while (i < n && j < m)
  {
    if (arr1[i] > arr2[j])
    {
      printf("%d ", arr2[j]);
      j++;
    }
    else
    {
      printf("%d ", arr1[i]);
      i++;
    }
  }
  if (i == n)
  {
    for (; j < m; j++)
    {
      printf("%d ", arr2[j]);
    }
  }
  else
  {
    for (; i < n; i++)
    {
      printf("%d ", arr1[i]);
    }
  }
  return 0;
}

这就是今天代码分享,主要是觉得这个思路还行,就分享出来了,文章质量不是特别好,谢谢大家!!!

相关文章
|
6月前
|
存储 C语言
重学C语言2018年10月17日
重学C语言2018年10月17日
|
人工智能 编译器 C语言
C语言——每日一题
C语言——每日一题
102 0
|
7月前
|
Java C语言 Python
震惊 C语言竟然还有这些函数
震惊 C语言竟然还有这些函数
66 0
震惊 C语言竟然还有这些函数
|
测试技术 C语言
C语言 每日一题 Day10
C语言 每日一题 Day10
74 0
|
存储 算法 测试技术
C语言 每日一题 11.9 day15
C语言 每日一题 11.9 day15
67 0
|
C语言
C语言 每日一题 day9
C语言 每日一题 day9
43 0
|
C语言
C语言 每日一题 牛客网 11.13 Day17
C语言 每日一题 牛客网 11.13 Day17
50 0
|
Java C语言
C语言 每日一题 牛客网 11.12 Day16
C语言 每日一题 牛客网 11.12 Day16
75 0
|
IDE 开发工具 C语言
C语言牛客基础题2
C语言牛客基础题2
55 0
|
存储 Java 编译器
c语言学习第一课-初识c语言
c语言学习第一课-初识c语言
107 0
c语言学习第一课-初识c语言