删除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的范围内.数组中某些数字是重复的,但不知道有几个数字是重复的.也不知道每个数字重复几次.请找出数组中任 ...
随机推荐
- tomcat oracle 连接池配置
<?xml version='1.0' encoding='utf-8'?> <Context displayName="zcgl" docBase=" ...
- js笔记-DOM基础
DoM 浏览器支持: IE: 10% FF: 99% Chrome: 60% childNotes不兼容 在Chrome和IE9中会将文本节点也算作childNotes,而在IE6-8中childNo ...
- kafka学习(三)-kafka集群搭建
kafka集群搭建 下面简单的介绍一下kafka的集群搭建,单个kafka的安装更简单,下面以集群搭建为例子. 我们设置并部署有三个节点的 kafka 集合体,必须在每个节点上遵循下面的步骤来启动 k ...
- Android 常用开发类库
android.app :提供高层的程序模型.提供基本的运行环境 android.content :包含各种的对设备上的数据进行访问和发布的类 android.database :通过内容 ...
- api文档生成工具 C#
要为编写的程序编写文档,这是件费力气的事,如果能自动生成就好了. 不怕做不到,就怕想不到.这不,搜索到了Sandcastle 比较好的参考文章: 1.Sandcastle官方网址: http://sh ...
- jboss7.1.1配置数据库mysql与oracle
环境: joss7.1.1安装成功,路径为:D:\profession\jboss-as-7.1.1.Final mysql-connector-java-5.1.18-bin.jar(mysql 5 ...
- JSP标签库
step1: 定义一个标签处理类:改类必须实现SimpleTag接口,在实际中是拓展它的子类SimpleTagSupport.复写doTag方法 public class MyTag extends ...
- BZOJ 2245: [SDOI2011]工作安排( 费用流 )
费用流模板题..限制一下不同愤怒值的工作数就可以了. ------------------------------------------------------------------------- ...
- Android 利用摄像头指尖测试心率
过摄像头来获得心率,搜了一下这个技术真不是噱头,据说在iPhone早有实现,主要原理是:当打开软件时,手机的闪光灯也会被自动打开,用户将手指放在摄像头上时,指尖皮下血管由于有血液被压入,被光源照射的手 ...
- ASP中 Request.Form中文乱码的解决方法
分享下解决方法直接用request.Form()获取的是所有数据所以会有乱码(具体原因不祥) 用 VBScript code Foreach obj in Request.Form Response. ...