#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(顺序表)的更多相关文章

  1. jdk顺序表笔记

    一.AbstractCollection 提供了集合的最大实现 继承该类,必须实现size()和iterator(),因为该类操作集合都是通过iterator 二.fail-fast策略 该策略在集合 ...

  2. 数据结构Java实现02----线性表与顺序表

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  3. 查找(顺序表&有序表)

    [1]查找概论 查找表是由同一类型是数据元素(或记录)构成的集合. 关键字是数据元素中某个数据项的值,又称为键值. 若此关键字可以唯一标识一个记录,则称此关键字为主关键字. 查找就是根据给定的某个值, ...

  4. 顺序表及其多种实现方式 --- C/C++

    所谓顺序表,即线性表的顺序存储结构.下面给出的是数据结构---线性表的定义. ADT List{ 数据对象: 线性表的数据对象的集合为{a1,a2,a3,...,an},每个元素的类型为ElemTyp ...

  5. C#顺序表(数据结构)

    xmfdsh我近来心情实在不好,只因为这两天课比较少,然后一下子时间太多,不知道干什么,心情郁闷......这是要闹哪样?这都让我一个郁闷了一个晚上.闲来无聊,回顾下之前学的C#数据结构,数据结构的重 ...

  6. C# 数据结构 线性表(顺序表 链表 IList 数组)

    线性表 线性表是最简单.最基本.最常用的数据结构.数据元素 1 对 1的关系,这种关系是位置关系. 特点 (1)第一个元素和最后一个元素前后是没有数据元素,线性表中剩下的元素是近邻的,前后都有元素. ...

  7. 集合&gt;哈希表类Hashtable和SortedList排序列表类

    集合>哈希表类Hashtable Hashtable一种键值对的集合 ,哈希表内部的排列是无序的,而且哈希表没有提供排序方法. 集合>哈希表类Hashtable>构造普通哈希表 代码 ...

  8. 顺序表的原理与python中的list类型

    数据是如何在内存中存储的? 在32位的计算机上,1个字节有8位,内存寻址的最小单位就是字节.假设我们有一个int类型的值,它从0x10开始,一个int占据4个字节,则其结束于0x13. 那么数据类型有 ...

  9. 数据结构Java实现01----线性表与顺序表

    一.线性结构: 如果一个数据元素序列满足: (1)除第一个和最后一个数据元素外,每个数据元素只有一个前驱数据元素和一个后继数据元素: (2)第一个数据元素没有前驱数据元素: (3)最后一个数据元素没有 ...

随机推荐

  1. 数组Magic Index

    Question A magic index in an array A[1...n-1] is defined to be an index such that A[i] = i. Given a ...

  2. 计算机原理学习(2)-- 存储器和I/O设备和总线

    前言 前一篇文章介绍了冯诺依曼体系结构的计算机的基本工作原理,其中主要介绍了CPU的结构和工作原理.这一篇主要来介绍存储区,总线,以及IO设备等其他几大组件,来了解整个计算机是如何工作的. 这些东西都 ...

  3. 『HTML5梦幻之旅』-缤纷多姿的烟花效果

    天花无数月中开,五采祥云绕绛台.堕地忽惊星彩散,飞空旋作雨声来.怒撞玉斗翻晴雪,勇踏金轮起疾雷.更漏已深人渐散,闹竿挑得彩灯回. ——明·瞿佑·<烟火戏> 记得每年过春节的那段时间,除了欣 ...

  4. html---textarea初始化时就有个table空格以及tab键操作无效

    1 初始化时就有一个tab空格 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvRnJlZUFwZQ==/font/5a6L5L2T/fontsize/400 ...

  5. android 屏幕适配问题【转】

      如何将一个应用程序适配在不同的手机上,虽然这不算是一个技术问题,但是对于刚刚做屏幕的开发人员来说,还真不是一件多么简单的事情. 首先:你需要在AndroidManifest.xml文件的<m ...

  6. printf("%d, %d\n", i++, ++i)的输出结果是确定的吗???

    1. 问题描述 以下代码的输出结果是什么? 题目1: ; printf("%d, %d\n", i++, ++i); 题目2: ; printf("%d, %d, %d, ...

  7. SQL Server存储过程和游标有关实例以及相关网址

    内含游标的存储过程实例 第一种写法 GO BEGIN IF (object_id('PT_FAULT_REPORT', 'P') is not null) drop proc PT_FAULT_REP ...

  8. 选择器,$("A+B") 和$("A~B") 的理解

    在我发表这个理解之前,我有看过博客园 永恒浪子 大神的 JQuery选择器大全(http://www.cnblogs.com/hulang/archive/2011/01/12/1933771.htm ...

  9. webService接口大全

    中文<->英文双向翻译WEB服务 获得标准数据 Endpoint: http://fy.webxml.com.cn/webservices/EnglishChinese.asmx Disc ...

  10. Eclipse+EGit的配置注意点, 以及解决Github多个本地仓库之间的冲突

    问题描述 不同本地仓库(e.g. Repo1, Repo2)之间同时修改一个文件时, 出现文件无法merge的情况. 具体表现为, 冲突(红色双向实心箭头)一直存在, 点pull没反应, 点push报 ...