删除Lb重复的数,用La输出(顺序表)
#include<stdio.h>
typedef int A;
const int LIST_INIT_SIZE=100;
const int LISTINCRMENT=10;
typedef struct
{
A *elem;
int Length;
int Listsize;
int incrementsize;
}List;
void InitList(List &L,int maxsize=LIST_INIT_SIZE,int incresize=LISTINCRMENT)
{
L.elem=new A[maxsize];
L.Length=0;
L.Listsize=maxsize;
L.incrementsize=incresize;
}
bool ListEmpty(List &L)
{
if(L.Length==0)
return true;
else
return false;
}
void ListDelete(List &L,int i,A &e)
{
A *p,*q;
if((i<1)||(i>L.Length))
printf("i值不合法");
p=&(L.elem[i-1]);
e=*p;
q=L.elem+L.Length-1;
for(++p;p<=q;++p)
*(p-1)=*p;
--L.Length;
}
int LocateElem(List L,A e)
{
int *p;
int i=1;
p=L.elem;
while(i<=L.Length&&*p++!=e)
++i;
if(i<=L.Length)
return i;
else
return 0;
}
void increment(List &L)
{
A *a;
a=new A[L.Listsize+L.incrementsize];
for(int i=0;i<L.Length;i++)
a[i]=L.elem[i];
delete[]L.elem;
L.elem=a;
L.Listsize+=L.incrementsize;
}
void ListInsert(List &L,int i,A e)
{
A *p,*q;
if(i<1||i>L.Length+1)
printf("i值不合法");
if(L.Length>=L.Listsize)
increment(L);
q=&(L.elem[i-1]);
for(p=&(L.elem[L.Length-1]);p>=q;--p)
*(p+1)=*p;
*q=e;
++L.Length;
}
void DestroyList(List &L)
{
delete[]L.elem;
L.Listsize=0;
L.Length=0;
}
void purge(List &La,List &Lb)
{
int e;
InitList(La);
int La_len=0;
while(!ListEmpty(Lb))
{
ListDelete(Lb,1,e);
if(!LocateElem(La,e))
ListInsert(La,++La_len,e);
}
DestroyList(Lb);
}
int main()
{
List a,b;
InitList(b);
int n,i;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&b.elem[i]);
b.Length++;
}
purge(a,b);
for(i=0;i<a.Length;i++)
printf("%d ",a.elem[i]);
printf("\n") ;
return 0;
}
删除Lb重复的数,用La输出(顺序表)的更多相关文章
- sql语句查询表中重复字段以及显示字段重复条数
今天跟大家分享两条SQL语句,是关于查询某表中重复字段以及显示该字段的重复条数. 1.select * from 表名 where 列名 in (select 列名 from 表名 group by ...
- 顺序表的基本操作【c语言】【创建、插入、删除、输出】
作为数据结构初学者,上课时对一些知识点掌握得不是很透彻,所以利用课余时间通过微博平台总结所学知识,加深对知识的见解,记录学习历程便于后需要时参考. #include<stdio.h> #i ...
- 【线性表基础】顺序表和单链表的插入、删除等基本操作【Java版】
本文表述了线性表及其基本操作的代码[Java实现] 参考书籍 :<数据结构 --Java语言描述>/刘小晶 ,杜选主编 线性表需要的基本功能有:动态地增长或收缩:对线性表的任何数据元素进行 ...
- 删除顺序表L中下标为p(0<=p<=length-1)的元素,成功返回1,不成功返回0,并将删除元素的值赋给e
原创:转载请注明出处. [天勤2-2]删除顺序表L中下标为p(0<=p<=length-1)的元素,成功返回1,不成功返回0,并将删除元素的值赋给e 代码: //删除顺序表L中下标为p(0 ...
- 10,随机等概率的输出m个不重复的数
今天看到一段代码,可以从0.....n-1中随机等概率的输出m个不重复的数(n远远大于m).遂记录下来. 首先,产生随机数,不免要用到srand,rand函数.先简单介绍下两个函数. 1,void s ...
- 海量数据找相同数,高配词,不重复的数,判断一个数是否存在,查询串,不同电话号码的个数,中位数,按照query频度排序,topk
这类题目,首先需要确定可用内存的大小,然后确定数据的大小,由这两个参数就可以确定hash函数应该怎么设置才能保证每个文件的大小都不超过内存的大小,从而可以保证每个小的文件都能被一次性加载到内存中. 1 ...
- 删除MySQL重复数据
删除MySQL重复数据 项目背景 在最近做的一个linux性能采集项目中,发现线程的程序入库很慢,再仔细定位,发现数据库里面很多冗余数据.因为在采集中,对于同一台设备,同一个时间点应该只有一个数据,然 ...
- javascript 笔试题之删除数组重复元素
笔试时紧张没写出来,静下心后发现简单的要死. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" & ...
- 剑指offer:1.找出数组中重复的数(java版)
数组中重复的数:题目:找出数组中重复的数,题目描述:在一个长度为n的数组里的所有数字都在0到n-1的范围内.数组中某些数字是重复的,但不知道有几个数字是重复的.也不知道每个数字重复几次.请找出数组中任 ...
随机推荐
- poj 3259 (Bellman_Ford判断负环)
题意:John的农场里n块地,m条路连接两块地,k个虫洞,虫洞是一条单向路,不但会把你传送到目的地,而且时间会倒退Ts.我们的任务是知道会不会在从某块地出发后又回来,看到了离开之前的自己. 思路:虫洞 ...
- 发布MFC ActiveX控件并实现自动更新
一. 引言 上一篇我们讲了如何使用 VC 2005来开发 MFC ActiveX控件,我们开发 ActiveX控件最终目的是将 ActiveX控件发布出来并嵌入在 Web网页中,随着控件 ...
- 历峰集团3.43亿美元收购Net-a-Porter剩余股权_财经_腾讯网
历峰集团3.43亿美元收购Net-a-Porter剩余股权_财经_腾讯网 历峰集团3.43亿美元收购Net-a-Porter剩余股权
- 在MyEclipse中统计项目行数
今天闲来无事就把自己曾经做过的一些小项目拿出来看一下,把一些自己觉得不好的地方又又一次改一下,突然想起有人说过大学生在毕业时至少要完毕多少代码才算合格,所以我就想统计一下自己做过的项目的代码量,在网上 ...
- 数据结构中La表的数据合并到Lb表中
实验描述:La表中的数据为(3,5,8,11) Lb 表中的数据为(2,6,8,9,11,15,20) 将La表中的数据而不存在Lb表的数据插入到Lb表中,从而实现并集操作. 出现的问题:最后实现的 ...
- Swift学习笔记:类和结构
一.类和结构的异同 类和结构有一些相似的地方.它们都能够: 1. 定义一些能够赋值的属性: 2. 定义具有功能性的方法 3. 定义下标.使用下标语法 4. 定义初始化方法来设置初始状态 5. 在原实现 ...
- 关于ajax的那些事
什么是ajax AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术. Ajax包含下列技术:基于 ...
- C#后台创建控件并获取值
前台代码 <form id="form1" runat="server"> <div> <div class="item ...
- Javascript 原型和原型链
先来了解一下Javascript中的原型:”原型也是一个对象,原型可以用来实现继承...“ 对于 原型,构造函数,以及实例之间的关系:“每个(构造)函数都有一个原型属性,原型对象都包含一个指向构造函数 ...
- vs2013 中HTML页 无法在设计窗口中查看的解决
VS2013不支持HTML文件的解决办法: 1.将html文件重命名为aspx即可.不需要创建项目,直接拖进vs即可. 2.打开VS菜单->工具->选项->文本编辑器->文件扩 ...