首页 > 其他分享 >数据结构:线性表的应用

数据结构:线性表的应用

时间:2024-07-25 15:53:41浏览次数:7  
标签:Lb 线性表 La next pb pc pa 应用 数据结构

文章目录

1.线性表的合并

问题描述
假设利用两个线性表La和Lb分别表示两个集合A和B,现要求一个新的集合A=AUB
La=(7,5,3,11)Lb=(2,6,3)->La=(7,5,3,11,2,6)
算法步骤
依次取出Lb中的每个元素,执行以下操作:

  1. 在La中查找该元素
  2. 如果找不到,则将其插入La的最后
void union(List &La,List Lb){
	La len=ListLength(La);
	Lb len=ListLength(Lb);
	for(i=1;i<=Lb len;i++){
		GetElem(Lb,i,e);
		if(!LocateElem(La,e))ListInsert(&La,++La len,e);
	}
}

2.有序表的合并

问题描述
已知线性表La和Lb中的数据元素按值非递减有序排列,现要求将La和b归并为
一个新的线性表LC,且Lc中的数据元素仍按值非递减有序排列。
算法步骤

  1. 创建一个空表Lc
  2. 依次从La或Lb中“"摘取”元素值较小的结点插入到Lc表的最后,直至其中一个表变空为止
  3. 继续将La或Lb其中一个表的剩余结点插入在Lc表的最后
void MergeList_Sq(SqList LA,SqList LB,SqList){
	pa=LA.elem;
	pb=LB.elem;
	LC.length=LA.length+LB.length;
	LC.elem=new ElemType[LC.length];
	pc=LC.elem;
	pa last=LA.elem+LA.length-1;
	pb last=LB.elem+LB.length-1;
	while(pa<=pa last &&pb<=pb last){
		if(*pa<=*pb)*pc++=*pa++
		else *pc++=*pb++;
	}
	while(pa<=pa_last)*pc++=*pa++;
	while(pb<=pb_last)*pc++=*pb++;/
}//MergeList_Sq

也可以使用链表来实现

void MergeList L(LinkList &La,LinkList &Lb,LinkList &Lc) {  
    pa=La->next;pb=Lb->next;  
    pc=Lc=La;  
    while(pa &pb){  
        if(pa->data<=pb->data){pc->next=pa;pc=pa;pa=pa->next;}  
        else (pc->next=pb;pc=pb;pb=pb->next;}  
            pc->next=pa?pa:pb;  
            delete Lb;  
}

标签:Lb,线性表,La,next,pb,pc,pa,应用,数据结构
From: https://blog.csdn.net/2303_82176667/article/details/140692433

相关文章

  • 数据结构专题讲解
    数据结构专题讲解总结:1.绝大多数数据结构体题目本身都比较明显的有共通性,往往可以向树上转化2.对于二维的问题,我们往往可以将一维上建立树然后暴力处理另外一维来解决问题例题一P7476「C.E.L.U-02」苦涩题目简述:在YQH的梦中,他看到自己过去的记忆正在不断浮现在......
  • 尝试将 bs4 方法应用于维基百科页面:结果不存储在 df 中
    由于维基百科上的抓取是一种非常非常常见的技术-我们可以使用适当的方法来处理许多不同的工作-我在获取结果方面确实遇到了一些问题-并将其存储到df中好吧-作为一个非常常见的Wikipedia-bs4作业的示例-我们可以采用这个:在此页面上,我们有超过600个结果-......
  • “分离”“聚合”两手抓,天翼云聚合计算赋能多元化应用场景!
    随着大数据、人工智能和高性能计算的迅猛发展,在大数据分析、基因测序、芯片设计、数据库和AI训练等“大计算”应用场景中,计算资源需求呈现爆发式增长态势,而传统的计算架构在资源利用率、扩展性、IO性能等方面存在诸多挑战。为了应对这些挑战,天翼云提出全新的云计算基础设施产品理......
  • GPT办公与科研应用、论文撰写、数据分析、机器学习、深度学习及AI绘图
    原文链接:GPT办公与科研应用、论文撰写、数据分析、机器学习、深度学习及AI绘图https://mp.weixin.qq.com/s?__biz=MzUzNTczMDMxMg==&mid=2247610183&idx=4&sn=8fd5a5fe6666f822884bdeff0f4d6467&chksm=fa826ea0cdf5e7b679efdfb099c02b2b24a58d815a7e86b13760a9a35c6bc4481a4106......
  • 遥感、GIS及GPS在土壤空间数据分析、适应性评价、制图及土壤普查应用教程
    原文链接:遥感、GIS及GPS在土壤空间数据分析、适应性评价、制图及土壤普查应用教程https://mp.weixin.qq.com/s?__biz=MzUzNTczMDMxMg==&mid=2247610183&idx=7&sn=e615d304313c1037ef1c61d632829355&chksm=fa826ea0cdf5e7b645a5950ba2770cb2ce9277e84fb19bd1008634aa2e2cdfe14dd......
  • 鸿蒙4.2安装apk应用软件
    先在电脑安装adb:https://blog.csdn.net/qq_37858386/article/details/119351940在手机上开开发者模式:点击关于手机里的harmonyOS版本号,点个四五次就弹出来了在手机上搜索usb:把usb调试打开:用数据线连接电脑,把usb配置改成以太网:进入cmd,如果没配adb全局变量,就进入adb的目录,使用a......
  • 鸿蒙HarmonyOS【应用开发一、鸿蒙简介】
    ✍️作者简介:小北编程(专注于HarmonyOS、Android、Java、Web、TCP/IP等技术方向)......
  • 【数据结构】二叉树
    二叉树结构描述:#include<iostream>#include<queue>usingnamespacestd;typedefintDataType;classNode{private:DataTypedata;Node*left;Node*right;friendclassBinaryTree;};typedefclassBinaryTree{private:N......
  • netty应用-手写RPC
    文章目录手写RPC之案例定位与通信过程介绍RPC框架案例定位服务端与客户端架构通信过程1.服务注册与发现2.请求序列化与传输3.请求处理与响应4.响应反序列化与结果处理实现细节1.服务端2.客户端技术选型关键挑战总结手写RPC之请求响......
  • 卡夫卡(Kafka)框架详解:从背景到应用实践
    卡夫卡(Kafka)框架详解:从背景到应用实践引言        在大数据和分布式系统日益普及的今天,数据处理和消息传递成为了支撑复杂业务系统的关键基础设施。ApacheKafka,作为一个高性能的分布式消息队列系统,因其高吞吐量、低延迟和可扩展性,成为了众多企业和开发者首选的消息......