求新的集合 A=AUB(顺序表)
#include<stdio.h>
typedef int A;
const int LIST_INIT_SIZE=100;
const int LISTINCREMENT=10;
typedef struct
{
A *elem;
int length;
int listsize;
int incrementsize; }List;
void InList(List &L,int maxsize=LIST_INIT_SIZE,int incresize=LISTINCREMENT)
{
L.elem=new A[maxsize];
L.length=0;
L.incrementsize=maxsize;
L.listsize=incresize;
}
void ListDelete(List &L,int i,A &e)
{
A *p,*q;
if((i<1)||(i>L.length))
printf("i值不合法\n");
p=&(L.elem[i-1]);
e=*p;
q=L.elem+L.length-1;
for(++p;p<=q;++p)
*(p-1)=*p;
--L.length;
}
void DestroyList(List &L)
{
delete[] L.elem;
L.listsize=0;
L.length=0;
}
void increment(List &L)
{
A *a,i;
a=new A[L.listsize+L.incrementsize];
for(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)
{
if(i<1||i>L.length+1)
printf("i值不合法\n");
A *p,*q;
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;
}
int LocateElem(List L,A e)
{
A *p;
int i=1;
p=L.elem;
while(i<=L.length&&*p++!=e)
++i;
if(i<=L.length) return i;
else return 0;
}
bool ListEmpty(List L)
{
if(L.length==0)
return true;
else
return false; }
int ListLength(List L)
{
return (L.length);
}
void union1(List &La,List &Lb)
{
A e,La_len;
La_len=ListLength(La); //读取线性表La的长度
while(!ListEmpty(Lb))
{
ListDelete(Lb,1,e); //删除线性表Lb的第一个数据元素并将其赋给e
if(!LocateElem(La,e)) //若La!=e则将e插入La中
ListInsert(La,++La_len,e);
}
DestroyList(Lb); //直到线性表Lb的长度为空时销毁Lb。
}
int main()
{
List a , b ;
InList(a); // 进行初始化 a.length=0;
InList(b); // b.length=0;
int i;
for(i=1;i<5;i++)
{
a.elem[i-1] = i ;
a.length++; //是为了在此基础上插入新的元素.
}
b.elem[0] = 1 ;
b.elem[1] = 4 ;
b.elem[2] = 8 ;
b.length=3; //是判断最终b为不为空
union1(a,b);
for(i=0;i<a.length;i++)
printf("%d ",a.elem[i]);
printf("\n") ;
return 0;
}
求新的集合 A=AUB(顺序表)的更多相关文章
- jdk顺序表笔记
一.AbstractCollection 提供了集合的最大实现 继承该类,必须实现size()和iterator(),因为该类操作集合都是通过iterator 二.fail-fast策略 该策略在集合 ...
- 数据结构Java实现02----线性表与顺序表
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- 查找(顺序表&有序表)
[1]查找概论 查找表是由同一类型是数据元素(或记录)构成的集合. 关键字是数据元素中某个数据项的值,又称为键值. 若此关键字可以唯一标识一个记录,则称此关键字为主关键字. 查找就是根据给定的某个值, ...
- 顺序表及其多种实现方式 --- C/C++
所谓顺序表,即线性表的顺序存储结构.下面给出的是数据结构---线性表的定义. ADT List{ 数据对象: 线性表的数据对象的集合为{a1,a2,a3,...,an},每个元素的类型为ElemTyp ...
- C#顺序表(数据结构)
xmfdsh我近来心情实在不好,只因为这两天课比较少,然后一下子时间太多,不知道干什么,心情郁闷......这是要闹哪样?这都让我一个郁闷了一个晚上.闲来无聊,回顾下之前学的C#数据结构,数据结构的重 ...
- C# 数据结构 线性表(顺序表 链表 IList 数组)
线性表 线性表是最简单.最基本.最常用的数据结构.数据元素 1 对 1的关系,这种关系是位置关系. 特点 (1)第一个元素和最后一个元素前后是没有数据元素,线性表中剩下的元素是近邻的,前后都有元素. ...
- 集合>哈希表类Hashtable和SortedList排序列表类
集合>哈希表类Hashtable Hashtable一种键值对的集合 ,哈希表内部的排列是无序的,而且哈希表没有提供排序方法. 集合>哈希表类Hashtable>构造普通哈希表 代码 ...
- 顺序表的原理与python中的list类型
数据是如何在内存中存储的? 在32位的计算机上,1个字节有8位,内存寻址的最小单位就是字节.假设我们有一个int类型的值,它从0x10开始,一个int占据4个字节,则其结束于0x13. 那么数据类型有 ...
- 数据结构Java实现01----线性表与顺序表
一.线性结构: 如果一个数据元素序列满足: (1)除第一个和最后一个数据元素外,每个数据元素只有一个前驱数据元素和一个后继数据元素: (2)第一个数据元素没有前驱数据元素: (3)最后一个数据元素没有 ...
随机推荐
- 【转】Python3.x移除了callable内建函数
原文地址:http://www.cnblogs.com/elvisxu/archive/2010/10/26/1861958.html 最近学习Python的时候,在Python3下跑<Dive ...
- 【OpenCV新手教程之十二】OpenCV边缘检測:Canny算子,Sobel算子,Laplace算子,Scharr滤波器合辑
本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接:http://blog.csdn.net/poem_qianmo/article/details/25560901 作者:毛星云(浅墨) ...
- Tomcat配置一个ip绑定多个域名
在网上找了半天也没找到相关的资料,都说的太含糊. 本人对tomcat下配置 一ip对多域名的方法具体例如以下,按以下配置一定能成功,经过測试了. <Host name="localho ...
- C#中var关键字【转】
[转]http://blog.csdn.net/courageously/article/details/5695626 var关键字是C# 3.0开始新增的特性,称为推断类型 . 可以赋予局部变量推 ...
- XX秘籍
第一课 一个男人在他妻子洗完澡后准备进浴室洗澡.这时,门铃响了. 妻子迅速用浴巾裹住自己冲到门口. 当她打开门时,邻居鲍勃站在那儿. 在她开口前,鲍勃说,“你如果把浴巾拿掉,我给你800美元.” 想了 ...
- Struts学习之模型驱动
* 要从页面中获取表单元素的值,需要在动作类中声明与页面元素同名的属性.导致动作类中既有javabean又有业务方法. * 将javabean和业务方法进行分离: * 将重新创建一 ...
- python中,str和repr的区别
str函数,它会把值转换为合理形式的字符串,以便用户可以理解. repr会创建一个字符串,它以合法的Python表达式的形式来表示值. 例如: >>> print repr(&quo ...
- javaTemplates-学习笔记一
第一步,下载Java运行环境-JDK JDK -'1.8.0_25'[附链接地址] 安装JDK配置环境 安装好jdk,然后配置环境变量.不同系统配置环境变量百度Google之,附上WIN8配置方法[J ...
- java之适配器模式
interface Window { public void open(); public void close(); public void activated(); ...
- 苹果iPhone不能判断红外发射管的好坏
用手机来检测红外发射管好坏是目前比较常用的方法.实际操作比较简单,就是按照红外发射管的工作电压给发射管接上电源后,把手机的摄像头对着红外发射管就能看出好坏了.由于红外线是肉眼看不见的,如果不通过手机摄 ...