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,20)求新集合?
1:若LA和LB分别表示两个集合A和B,求新集合A=A∪B(相同元素不保留)预测输出LA=(3,5,8,11,2,6,9,15,20)
2:若LA和LB分别表示两个集合A和B,求新集合A=A∪B(相同元素保留)预测输出LA=(2,3,5,6,8,8,9,11,11,15,20)
数据结构(C语言版)设有线性表LA(3,5,8,11)和LB(2,6,8,9,11,15,20)求新集合
人气:420 ℃时间:2020-03-22 18:35:54
优质解答
#include
#include
#define list_init_size 100
#define listincrement 10
typedef struct
{ int *elem;
int length;
int listsize;
} sqlist;
int initsqlist (sqlist *l)//初始化
{
l->elem=(int *)malloc(list_init_size*sizeof(int));
\x09if(!l->elem)
\x09\x09exit(0);
\x09l->length=0;
\x09l->listsize=list_init_size;
\x09return 0;
}
int listinsert_sq(sqlist *l,int i,int e)//插入一个元素
{
\x09int *p,*q;
\x09if(il->length+1)
\x09\x09exit(0);
\x09q=&(l->elem[i-1]);
\x09for(p=&(l->elem[l->length-1]);p>=q;--p)
\x09\x09*(p+1)=*p;
\x09*q=e;
\x09++l->length;
\x09return 0;
}
void add(sqlist *l,int e)//添加到最后
{
listinsert_sq(l,l->length+1,e);
}
void disp(sqlist *l)
{
int i;
for(i=0;ilength;i++)
\x09 printf("%d ",l->elem[i]);
printf("\n");
}
int find(sqlist *l,int e)//查找元素是否存在
{
int i,t=-1;
for(i=0;ilength;i++)
\x09if(l->elem[i]==e)
\x09{t=i;break;}
return t;
}
void opt_1(sqlist *la,sqlist *lb)//(相同元素不保留)
{
int i,j;
for(i=0;ilength;i++)
{
\x09j = find(la,lb->elem[i]);
if(j==-1)
\x09\x09listinsert_sq(la,la->length+1,lb->elem[i]);
}
}
void sort(sqlist *la) //排序
{
\x09int i,j,k;
\x09for(i=0;ilength;i++)
\x09\x09for(j=i+1;jlength;j++)
\x09\x09{
\x09\x09 if(la->elem[i]>la->elem[j])
\x09\x09 {
\x09\x09\x09 k = la->elem[i];
\x09\x09\x09 la->elem[i] = la->elem[j];
\x09\x09\x09 la->elem[j] = k;
\x09\x09 }
\x09\x09}
}
void opt_2(sqlist *la,sqlist *lb)//(相同元素保留)
{
int i,j;
for(i=0;ilength;i++)
{
\x09j = find(la,lb->elem[i]);
if(j!=-1)
\x09\x09listinsert_sq(la,j+1,lb->elem[i]);
\x09else
\x09\x09listinsert_sq(la,la->length+1,lb->elem[i]);
}
sort(la);
}
int main()
{
\x09sqlist La,Lb;
\x09initsqlist(&La);
add(&La,3);
add(&La,5);
add(&La,8);
add(&La,11);
\x09initsqlist(&Lb);
add(&Lb,2);
add(&Lb,6);
add(&Lb,8);
add(&Lb,9);
add(&Lb,11);
add(&Lb,15);
add(&Lb,20);
\x09disp(&La);
\x09disp(&Lb);
\x09opt_1(&La,&Lb);//操作(相同元素不保留)
\x09disp(&La);
\x09La.length = 0; //重新初始化La
add(&La,3);
add(&La,5);
add(&La,8);
add(&La,11);
\x09opt_2(&La,&Lb);//操作(相同元素保留)
\x09disp(&La);
\x09
\x09return 0;
}
输出:
3 5 8 11
2 6 8 9 11 15 20
3 5 8 11 2 6 9 15 20
2 3 5 6 8 8 9 11 11 15 20
我来回答
类似推荐
c语言数据结构线性表LA和LB,数据结构(C语言版)设有线性表LA(3,5,8,110)和LB(2,6,8,9,11,15,20)求新集合?...相关推荐
- 我的世界药水合成表图Java_我的世界手机版药水合成表 药水效果
在我的世界手机版0.12更新后加入了酿造系统,神奇的药水终于和我们见面啦~到了生存后期,玩家一般会收集到大量的资源,这时的药水对于玩家有很大的帮助,特别是下界的一些活动,玩家可以在下界通过使用喷溅型治 ...
- 【数据结构】线性表的顺序存储结构(c语言实现)
最近在复习数据结构,参考资料为王道数据结构 /*********************************************************//*Project: sequence ...
- c语言线性表写的数据库系统(数据结构)
数据库系统 用C语言的链表知识做了一个简单的数据库,原理简单,可以直接复制代码使用,请大佬指导 #include"consts.h" #include<sys\stat.h& ...
- c语言输出单链表最大值与最小值,数据结构(C语言版)---顺序表与链表的比较...
1.存取方式 1)顺序表:可以顺序存取,也可以随机存取. 2)链表:只能从表头顺序存取. 2.逻辑结构与物理结构 1)顺序存储:逻辑上相邻,物理位置相邻. 2)链式存储:逻辑上相邻,物理位置不一定相邻 ...
- 大话数据结构读书笔记艾提拉总结 查找算法 和排序算法比较好 第1章数据结构绪论 1 第2章算法 17 第3章线性表 41 第4章栈与队列 87 第5章串 123 第6章树 149 第7章图 21
大话数据结构读书笔记艾提拉总结 查找算法 和排序算法比较好 第1章数据结构绪论 1 第2章算法 17 第3章线性表 41 第4章栈与队列 87 第5章串 123 第6章树 149 第7章图 211 第 ...
- Java数据结构(1.1):数据结构入门+线性表、算法时间复杂度与空间复杂度、线性表、顺序表、单双链表实现、Java线性表、栈、队列、Java栈与队列。
数据结构与算法入门 问题1:为什么要学习数据结构 如果说学习语文的最终目的是写小说的话,那么能不能在识字.组词.造句后就直接写小说了,肯定是不行的, 中间还有一个必经的阶段:就是写作 ...
- 2-1-单链表顺序存储结构-线性表-第2章-《数据结构》课本源码-严蔚敏吴伟民版...
课本源码部分 第2章 线性表 - 单链表顺序存储结构 --<数据结构>-严蔚敏.吴伟民版 ★有疑问先阅读★ 源码使用说明 链接☛☛☛ <数据结构-C语言版>( ...
- 线性表(顺序存储结构)C语言
文章目录 前言 一.线行表的顺序存储结构 二.代码 三.运行结果 前言 最近在学数据结构,想在这里记录一下,也方便以后查找 一.线行表的顺序存储结构 线性表分为两种存储结构,顺序存储与链式存储. 顺序 ...
- 【数据结构】顺序表的增删查改 (C语言实现)
文章目录 一.线性表 二.顺序表 1.什么是顺序表 2.顺序表的分类 三.动态顺序表的实现 1.结构的定义 2.顺序表的初始化 3.检查容量 4.在头部插入数据 5.在尾部插入数据 6.在指定位置插入 ...
最新文章
- Keras—ModelCheckpoint
- Goods:图书模块按分类查询各层实现
- Excel批量转csv格式
- 新手怎么读懂一个中型的Django项目
- Python cv2 摄像头
- 【C++深度剖析教程27】多态的概念与意义
- C语言实现大数据除法
- python制作的游戏如何转化为swf_如何从python生成swf格式的幻灯片?
- 本来共享的计算机突然无法访问,WIN7局域网无法启用共享访问解决办法
- SD皇冠毛绒布料材质制作视频教程 中文字幕
- 航空公司客户价值分析R语言实现
- 计算机术语一种单向密码体制,密码体制有哪五部分
- 通过EasyPOI导入excel数据
- 2008年会不会是Linux的桌面年
- 出现跨域问题的原因及其解决方法
- 韩国电力供应商利用区块链构建生态友好型微电网
- 动脑学院android 高级ui,动脑学院高级ui课程9.1:贝塞尔曲线简单介绍
- mysql数据表出现Table is marked as crashed and should be repaired 解决办法
- 网站模板价格多少才合理呢?
- java中如何输入乘号_乘号在JAVA编成中应怎样直接读取? 它应属于什么类型的?...
热门文章
- 彻底搞懂 Git-Rebase
- Spring Cloud Config采用Git存储时两种常用的配置策略
- 分数等级_志愿填报丨填报公办普通高中志愿,分数成绩和等级成绩均需关注
- python 命名空间冲突_通过修改命名空间绕过pb冲突
- Java为什么print显示不完全,read-eval-print-loop – 在Java 9上,为什么System.getenv()的输出在jshell中不完整?...
- CoTNet 修改笔记
- python for循环删除
- mnn linux编译
- module 'torch.jit' has no attribute 'unused'
- go dll 传char*