有序序列合并

简介: 有序序列合并

有序序列合并



6117d9a1aca95aa20bcb72b5ea4208c7_fa81ac5da35a4fa097a96e7a34aa0489.png


#include<stdio.h>
int main()
{
  int arr1[] = { 1,3,5,7,9,11};
  int arr2[] = { 2,4,6,8,10 };
  int n = sizeof(arr1) / sizeof(arr1[0]);
  int m = sizeof(arr2) / sizeof(arr2[0]);
  int i = 0;
  int j = 0;
  while (i < n && j < m)
  {
  if (arr1[i] > arr2[j])
  {
    printf("%d ", arr2[j]);
    j++;
  }
  else
  {
    printf("%d ", arr1[i]);
    i++;
  }
  }
  //当j<m不满足时
  if (i < n)
  {
  for (; i < n; i++)
  {
    //打印数组arr1剩余的元素
    printf("%d ", arr1[i]);
  }
  }
  //当i<n不满足时
  else
  {
  for (; j < m; j++)
  {
    //打印数组arr2剩余的元素
    printf("%d ", arr2[j]);
  }
  }
  return 0;
}

c570c9c111b100ddcfc7c69034c86177_01bcd8c637f44dc5a5a9d65a43b20e3a.png


目录
相关文章
|
5月前
|
算法 编译器
【归并排序】两个有序序列的合并
【归并排序】两个有序序列的合并
|
6月前
|
算法 Java
算法题 合并两个有序数组
算法题 合并两个有序数组
28 1
|
6月前
|
算法 程序员 测试技术
【算法训练-数组 四】【数组合并】:合并两个有序数组
【算法训练-数组 四】【数组合并】:合并两个有序数组
49 0
|
C++
【C/C++练习】合并k个已排序的链表(二)
【C/C++练习】合并k个已排序的链表(二)
80 0
【C/C++练习】合并k个已排序的链表(二)
|
人工智能
有序序列中插入一个整数
有序序列中插入一个整数
75 0
|
存储
两个有序表的合并(三种方法)
设有两个递增排列的有序表,要求合并后仍按递增(非递减)有序排列
993 0
两个有序表的合并(三种方法)
|
存储
6-1 两个有序链表序列的合并
6-1 两个有序链表序列的合并
127 0
7-174 两个有序链表序列的合并
7-174 两个有序链表序列的合并
72 0
7-234 两个有序序列的中位数
7-234 两个有序序列的中位数
112 0
整理关于有序序列的问题
我们可以设置两个flag,flag1代表升序,flag2代表降序。然后遍历下数组,用后面面的数减去前面的数,如果>0,则flag1++;如果<0,则flag2++;这里呢比较的话n个数比较n-1次就可以了。所以如果最后flag1==n-1或者flag2= =n-1,则表面这个数组是有序的否则不是。
90 0