【问题描述】

编制一个能演示将两个有序表合并为一个有序表的程序。

【基本要求】

已知递增有序线性表LA和LB,现将LA和LB合并到LC,LC也是递增有序的。

【测试数据】

LA=(3,5,8,11)  LB=(2,6,8,9,11,15,20)

合并后的LC=(2,3,5,6,8,9,11,15,20)

代码:

#include<bits/stdc++.h>
const int MaxSize=100;
using namespace std;
typedef int ElemType;
typedef struct
{ElemType data[MaxSize];int length;
}SqList;void CreateList(SqList *&A,ElemType c[],int n)
{int i;A=(SqList *)malloc(sizeof(SqList));for(i=0;i<n;i++)A->data[i]=c[i];A->length=n;
}void UnionList(SqList *&L,SqList *&R,SqList *&E)
{int i,j,k;E=(SqList *)malloc(sizeof(SqList));for(i=0,j=0,k=0;i<L->length && j<R->length;k++){if(L->data[i]<R->data[j])E->data[k]=L->data[i++];else if(R->data[j]<L->data[i])E->data[k]=R->data[j++];else if(R->data[j]==L->data[i])E->data[k]=L->data[i++],j++;}while(i<L->length)E->data[k++]=L->data[i++];while(j<R->length)E->data[k++]=R->data[j++];E->length=k;
}void DispList(SqList *&E)
{int i;for(i=0;i<E->length;i++)cout << E->data[i] << " ";cout << endl;
}int main()
{SqList *L,*R,*E;ElemType a[]={3,5,8,11},b[]={2,6,8,9,11,15,20};CreateList(L,a,4);CreateList(R,b,7);UnionList(L,R,E);DispList(E);return 0;
}

合并两个有序表--顺序表相关推荐

  1. 合并两个有序的线性表

    bool  Mergesqlist(Dpsqlist pa, Dpsqlist pb, Dpsqlist pc) { int i = 0;//pa的下标 int j = 0;//pb的下标 int k ...

  2. 数据结构一线性表 (顺序表、单链表、双链表)

    版权声明:本文为openXu原创文章[openXu的博客],未经博主允许不得以任何形式转载 文章目录 1.线性表及其逻辑结构 1.1 线性表的定义 1.2 线性表的抽象数据类型描述 2.线性表的顺序存 ...

  3. 合并两个有序链表(递归)

    合并两个有序链表(递归) 题目描述 将两个有序链表合并为一个新的有序链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. 示例 输入:1->2->4, 1->3->4 ...

  4. 《LeetCode力扣练习》第21题 合并两个有序链表 Java

    <LeetCode力扣练习>第21题 合并两个有序链表 Java 一.资源 题目: 将两个升序链表合并为一个新的 升序 链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. 示例 ...

  5. 线性表---顺序表链表

    一.线性表 1.线性表中的元素是一对一的关系,除了第一个与最后一个元素之外其他数据元素都是首尾相连的. 如果是一对多就用树来表示,如果是多对多就用网状来表示. 2.线性表的两种存储结构 顺序表:用顺序 ...

  6. 牛客题霸 [合并两个有序的数组] C++题解/答案

    牛客题霸 [合并两个有序的数组] C++题解/答案 题目描述 给出两个有序的整数数组 和 ,请将数组 合并到数组 中,变成一个有序的数组 注意: 可以假设 数组有足够的空间存放 数组的元素, 和 中初 ...

  7. 经典算法——合并两个有序单向链表

    1.题目要求 这是一道求职面试时经常要求手写或者机试的经典题目. 已知两个链表 head1 和 head2 各自有序,请把它们合并成一个链表依然有序.结果链表要包含 head1 和head2 的所有节 ...

  8. 【合并两个有序的子数组】算法实现

    [合并两个有序的子数组] View Code  1 #include<iostream.h>  2 void merge(int array[],int p,int q,int r,int ...

  9. 力扣——合并两个有序数组

    合并两个有序数组 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目. 请你 合并 nums2 到 nu ...

  10. 力扣——合并两个有序链表

    合并两个有序链表 将两个升序链表合并为一个新的 升序 链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. 示例 1: 输入:l1 = [1,2,4], l2 = [1,3,4] 输出:[1, ...

最新文章

  1. 动态开辟二维数组的两种方案及位体
  2. 集合 判断是否为同一元素 总结
  3. 云网融合 — 电信网络云
  4. is_numeric函数的引起的一个BUG说起
  5. 二分+并查集【bzoj3007】[SDOI2012]拯救小云公主
  6. spring mvc hello
  7. c#获取当前时间 毫秒_《Linux设备驱动程序》(十二)——时间操作(一)
  8. 信创产业发展应不忘初心牢记使命
  9. golang并发官方示例
  10. Python学习笔记(三)Python安装及设置环境变量
  11. 阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第4节 等待唤醒机制_9_等待唤醒机制代码实现_吃货类测试类...
  12. Linux C 信号量
  13. Ubantu18.04
  14. 解密“达达-京东到家”的订单即时派发技术原理和实践
  15. Word 中给公式自动编号
  16. ffmpeg mp4 mp3 wav flac webm aac ac3 ogg格式转换
  17. socketio单聊,群聊
  18. 敏捷个人2012.1月份线下活动报道:谈谈职业
  19. Zabbix怎么监控奇安信网神防火墙
  20. 最强chrome、edge的广告拦截插件

热门文章

  1. 收音机原理:AM和FM的区别
  2. 坑爹的青云志(第一集)
  3. 图片批量处理工具 BatchPhoto for Mac 4.4
  4. 简单的图片管理器开发
  5. 山西大同服务器地理位置,山西地理位置“最好”的城市,被誉“北方锁钥”,不是长治、太原...
  6. 网页版电子病历初步完成
  7. 如何判断我们的代理ip是高匿
  8. Chrome浏览器 - 抢票插件的制作与插件工具(下)
  9. git合并分支总结(一看就懂哟)
  10. VIP邮箱收费多少钱?怎么注册申请163邮箱呢?步骤详解