首页 > 其他分享 >两个顺序表的合并问题

两个顺序表的合并问题

时间:2024-04-06 15:58:29浏览次数:25  
标签:顺序 两个 int void 合并 length MAXSIZE Sqlist

两个顺序表的合并问题

#include<stdio.h>
#define MAXSIZE 300
typedef struct{
	int length;
	int *p;
}Sqlist;
void SXB(Sqlist &L){
	L.length=0;
	L.p=new int[MAXSIZE];
}
void insert(Sqlist &L,int n){
	if(n>MAXSIZE) printf("input error!");
	int i;
	for(i=0;i<n;i++)
		scanf("%d",&L.p[i]);
	L.length=n;
}
void merge(Sqlist &LA,Sqlist &LB,Sqlist &LC,int n){
	int *qa,*qb,*qc;
	int ia,ib,ic;
	LC.length=LA.length+LB.length;
	
	qa=LA.p;qb=LB.p;qc=LC.p;
	ia=0,ib=0,ic=0;
	while(ia<LA.length&&ib<LB.length){
		if(qa[ia]<qb[ib]){
			qc[ic++]=qa[ia++];
		}
		else if(qb[ib]<qa[ia]){
			qc[ic++]=qb[ib++];
		}
		else{
			qc[ic++]=qa[ia++];
			qb[ib++];
		}
	}


	while(ia<LA.length)	
			qc[ic++]=qa[ia++];

	while(ib<LB.length)	
			qc[ic++]=qb[ib++];

	LC.length=ic;	
}
void dayin(Sqlist L,int a){
	int i;
	for(i=0;i<a;i++)
		printf("%d ",L.p[i]);
}
void main(){
	Sqlist LA,LB,LC;
	int n;
	SXB(LA);SXB(LB);SXB(LC);
	printf("往LA,LB中插入多少个元素:");
    scanf("%d",&n);
	printf("往LA中插入的元素有:");
	insert(LA,n);
	printf("往LB中插入的元素有:");
	insert(LB,n);
	merge(LA,LB,LC,n);
	dayin(LC,LC.length);
}

标签:顺序,两个,int,void,合并,length,MAXSIZE,Sqlist
From: https://blog.csdn.net/laocooon/article/details/137430511

相关文章

  • 2024-04-06:用go语言,给你两个非负整数数组 rowSum 和 colSum, 其中 rowSum[i] 是二维矩
    2024-04-06:用go语言,给你两个非负整数数组rowSum和colSum,其中rowSum[i]是二维矩阵中第i行元素的和,colSum[j]是第j列元素的和,换言之你不知道矩阵里的每个元素,但是你知道每一行和每一列的和。请找到大小为rowSum.lengthxcolSum.length的任意非负整数矩阵。且该......
  • 数据结构之顺序表的相关知识点及应用
     个人主页(找往期文章包括但不限于本期文章中不懂的知识点):我要学编程(ಥ_ಥ)-CSDN博客目录顺序表的概念及结构顺序表的分类顺序表的实现 在顺序表中增加数据 在顺序表中删除数据 在顺序表中查找数据 顺序表源码 顺序表的概念及结构在了解顺序表之前,得先知道......
  • FFmpeg音视频裁剪和合并命令
    FFmpeg音视频裁剪和合并命令命令简介裁剪音视频和合并音视频。合并命令ffmpeg-i[输入文件1]-i[输入文件2]...[滤镜参数][输出文件]输入文件指明输入你要合并的文件,可以有多个输入文件。滤镜参数可以为合并的文件添加滤镜,详细参数查看ffmpeg滤镜命令中的参数。输......
  • raft算法和etcd代码解析-4.两个模块,两个goroutine
    etcd是什么存储:Kubernetes集群所有的配置信息和状态数据都会被持久化存储在etcd中,包括节点信息、Pods、ReplicaSets、Services、ConfigMaps、Secrets等各类资源对象。协调:通过Raft协议,etcd集群中的各个节点达成一致,确保任何时候集群状态的变更都是原子性的、一致的,并且在节点故......
  • C++数据结构——顺序表
    C++数据结构——顺序表以下代码可以作为一个顺序表的模板,从顺序表的初始化创建到增删改查,都有详细的过程,供学习参考。#include<iostream>#include<stdio.h>usingnamespacestd;#defineelemTypeintstructSequentialList{elemType*elements;intsiz......
  • 顺序表的实现
    在顺序表的实现中我们不会再像之前通讯录一样写菜单来调试了,而是用test函数来直接调用接口调试,因为菜单调试起来过于繁琐,而我们在写数据结构的时候是需要很多次调试函数功能的。所有接口#pragmaonce#include<stdio.h>#include<assert.h>#include<stdlib.h>#defineN......
  • 【MySQL系列】--SQL 执行顺序
    不想往后翻直接告诉我结论,好的:)FROM:获取第一张表,称为原表table1,获取第二张表,称为原表table2,将两张表做笛卡尔积,生成第一张中间表Temp1。ON:根据筛选条件,在Temp1上筛选符合条件的记录,生成中间表Temp2。JOIN:根据连接方式的不同,选择是否在Temp2的基础上添加外部行。左外......
  • tsconfig.build.json 和 tsconfig.json 的区别是什么,为啥分为两个?
    tsconfig.json和tsconfig.build.json都是TypeScript编译器的配置文件,它们用于定义TypeScript项目的编译选项和规则。虽然它们的核心功能相同,但通常情况下,项目中会有多个tsconfig文件,如tsconfig.build.json,以满足不同编译场景的需求。下面是它们之间的一些关键区别:目......
  • 从无到有开始创建动态顺序表——C语言实现
    顺序表的概念    顺序表的底层结构是数组,对数组的封装,实现了常用的增删改查等接口。在物理结构和逻辑结构都是连续的,物理结构是指顺序表在计算机内存的存储方式,逻辑结构是我们思考的形式,顺序表和数组是类似的,都是使用了连续的空间进行数据的保存,由于是连续的空间,所......
  • 数据结构(顺序表)
    一.顺序表的概念及结构线性表顺序表是线性表的一种。线性表(linear list)是n个具有相同特性的数据元素的有限序列。线性表是⼀种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串... 线性表在逻辑上是线性结构,也就说是连续的一条直线。但是在物理......