题目:

#include <iostream>
#include <malloc.h>
#define LISTINCREMENT 10
using namespace std;
typedef struct{//线性表的动态分配顺序存储结构 int *elem;//存储空间基址 int length;//当前长度 int listsize;//当前地址
}SqList;void Init_L(SqList &L){//构造一个空的线性表 L.elem = (int *)malloc(50*sizeof(int));L.length = 0;L.listsize = 50;
}
void Crete_L(SqList &L,int array[],int length){//给线性表赋值     for(int i=0;i<length;i++){L.length++;L.elem[i]=array[i];}
}
void List_L(SqList L){  //遍历顺序表 for(int i=0;i<L.length;i++){cout<<L.elem[i]<<' ';       }
}int GetFinnd_L(SqList &L,int t){//获得插入位置 for(int i=0;i<=L.length;i++){if(L.elem[i]>t || i == L.length ){return ++i;}}
}
int Inter_L(SqList &L,int t,int x){ //顺序表插入操作 for(int i=L.length-1;i>=x-1;i--) L.elem[i+1]=L.elem[i];L.elem[x-1] = t;L.length++;
}
int FindCity_L(SqList L,int t){//查找两表之间有没有一样的的 for(int i=0;i<=L.length;i++){int k = L.elem[i];if(k == t)return 1;if(i==L.length)return -1;          }
}
void City_L(SqList &Lc,SqList &Ld){//合并两表不排斥一样的 int length = Lc.length +Ld.length;if(length >Lc.listsize){int leng = length - Lc.listsize; Lc.elem = (int *)realloc(Lc.elem,(Lc.listsize+leng)*sizeof(int));Lc.listsize +=leng;}else{for(int i=0;i<Ld.length;i++){int x = GetFinnd_L(Lc,Ld.elem[i]);       Inter_L(Lc,Ld.elem[i],x);}}
}
void TexyCity(SqList La,SqList &Lc,SqList &Ld){//拷贝表内容 Init_L(Lc);for(int i=0;i<=La.length;i++){Lc.length++;Lc.elem[i] = La.elem[i];} Lc.length--;City_L(Lc,Ld);
}
int main(){SqList La;SqList Lb;SqList Lc;SqList Ld;int x;   int La_array[] ={1,2,3,4,5};int Lb_array[] ={2,4,6,8,10};int Ld_array[] ={2,6,8,9,11,15,20};int leng_La = sizeof(La_array)/sizeof(La_array[0]);int leng_Lb = sizeof(Lb_array)/sizeof(Lb_array[0]);int leng_Ld = sizeof(Ld_array)/sizeof(Ld_array[0]);//数组传参无法获得数组长度只能把长度一起传过去Init_L(La); Crete_L(La,La_array,leng_La);Init_L(Lb); Crete_L(Lb,Lb_array,leng_Lb);Init_L(Ld); Crete_L(Ld,Ld_array,leng_Ld);for(int i=0;i<Lb.length;i++){int y = FindCity_L(La,Lb.elem[i]);if(y==-1){                x = GetFinnd_L(La,Lb.elem[i]);Inter_L(La,Lb.elem[i],x);}}TexyCity(La,Lc,Ld);List_L(Lc);
}

结果:

数据结构 顺序表La和Lb合并相关推荐

  1. c语言数据结构线性表LA和LB,数据结构(C语言版)设有线性表LA(3,5,8,110)和LB(2,6,8,9,11,15,20)求新集合?...

    数据结构(C语言版)设有线性表LA(3,5,8,110)和LB(2,6,8,9,11,15,20)求新集合? 数据结构(C语言版)设有线性表LA(3,5,8,110)和LB(2,6,8,9,11,15 ...

  2. 线性表LA和LB合并

    从线性表LB中依次取得每个数据元素,并依值在线性表LA中进行查访,若不存在,则插入. #include<stdio.h> #include<string.h> #include ...

  3. 数据结构——顺序表的合并

    数据结构--顺序表的合并 具体要求:写一个函数,其函数的功能是将非递增顺序表LA和LB合并到非递增顺序表LC中 数据结构-顺序表的操作之合并顺序表 一.顺序表的结构 首先要定义的是顺序表的结构体,只有 ...

  4. Educoder头歌数据结构顺序表及其应用

    头歌实践平台答案educoder 数据结构-顺序表及其应用 第1关:顺序表的实现之查找功能 /***************************************************** ...

  5. 已知线性表LA和LB中的数据元素按值非递减有序排列,现要求将LA和LB归并为一个新的线性表LC,且LC中的数据元素仍按值非递减有序排列。例如,设 LA=(3,5,8,11) LB=(2,6,8,9,1

    已知线性表LA和LB中的数据元素按值非递减有序排列,现要求将LA和LB归并为一个新的线性表LC,且LC中的数据元素仍按值非递减有序排列.例如,设 LA=(3,5,8,11) LB=(2,6,8,9,1 ...

  6. 两个有序顺序表la,lb合并为lc(不删除重复)。

    两个有序顺序表la,lb合并为lc(不删除重复). #include<stdio.h> struct LNode {int data[30];int last; }; int main() ...

  7. 【数据结构 C描述】有两个整数集合 A 和 B 分别用两个线性表 LA 和 LB 表示,求:一个新的集合A=A∪B,A仍然为纯集合,线性表采用链式存储方式。【单链表】

    这是我的作业题,作业写完后再附到博客中,可能代码写得很烂.虽然是C语言写的,但是我在其中加入了C++的写法,例如cout.我懒得写printf的格式控制符,所以用cout来输出内容,这样我感觉简便多了 ...

  8. 两个非递减有序单链表La和Lb合并成一个非递增有序链表Lc

    #include<iostream> #include <stdio.h> #include <stdlib.h> #include <string.h> ...

  9. c语言两个线性表la lb,假设有两个集合A和B分别用两个线性表LA和LB表示,即.ppt

    假设有两个集合A和B分别用两个线性表LA和LB表示,即.ppt 循环链表是单链表的变形. 循环链表最后一个结点的link指针不为 0 (NULL),而是指向了表的前端. 为简化操作,在循环链表中往往加 ...

最新文章

  1. 基类的析构函数为什么要设置成virtual
  2. python 获得当前运行脚本文件的路径
  3. sql server 里面怎么支持数字使用双引号_国查:用中文编写SQL
  4. logback 简介
  5. 怎么删除或者彻底卸载输入法
  6. MySQL安装与启动
  7. Linux基本命令及Linux文件类型
  8. PS5手柄可兼容安卓系统和win系统
  9. Linux基础之 getopts
  10. MacBookPro M1芯片安装brew
  11. 举个栗子!Tableau技巧(60):轻松搞定 关系网 图表
  12. 【中科院】分子生物学-朱玉贤第四版-笔记-第13讲 原核生物表达调控
  13. 读John Stuart Mill的《功利主义》
  14. 从源码看std::weak_ptr
  15. 考勤机服务器位置,考勤机云服务器地址怎么改
  16. Carsim所能实现的功能
  17. 模拟电路——集成运算放大器(2)
  18. 在虚拟磁盘中安装Windows Server 2016
  19. “H5结婚请柬电子版”制作攻略
  20. Mock技术_Mock与Moco技术介绍

热门文章

  1. U盘病毒mydocuments.exe查杀办法总结
  2. python中notebook的快捷键_现在就飞起来!Jupyter Notebook 那些如有神助的快捷操作...
  3. 页面与action批量传值iBATIS批量更新
  4. Microarchitecture:Macro Fusion
  5. 笑傲江湖 | 智能交通行业生存法则
  6. [Vuejs] Vue解决代理设置导致浏览器Session丢失的问题
  7. 面向“三创”人才培养的计算机类专业课程体系与教学内容改革研究
  8. HTTP Sec-Fetch-*请求头
  9. 关于TCP_CORK的一个细节
  10. layui样式 layui-body 占整个页面