重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
本文实例讲述了JS中的算法与数据结构之集合(Set)。分享给大家供大家参考,具体如下:
我们提供的服务有:成都做网站、网站建设、微信公众号开发、网站优化、网站认证、丰泽ssl等。为1000多家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的丰泽网站制作公司同数学中所学的一样,集合(Set)是由一组无序但彼此之间又有一定关系性的成员构成,每个成员在集合中只能出现一次,不同于我们之前说的字典,链表之类的,它是一种包含了不同元素的数据结构(集合中的元素称为成员),从其定义中我们可以看出它具有两个很重要的特征:首先,集合中的成员是无序的,其次,集合中的成员是不相同的,即集合中不存在相同的成员。
实际上,很多编程语言中,集合并不是一种数据类型,但是如果你需要创建一个数据结构用来保存一些独一无二的元素时,集合就变得很有用了,接下来我们一起来看看JS中如何实现一个集合。
集合的定义我们要实现一个集合,首先要对其一些定义做了解
通常来说,集合的基本操作有以下三种:
集合(Set)的实现我们这里基于数组,用数组来存储数据,根据我们之前学习的以及上面提到的一些方法,我们可以将集合的构造函数定义如下(为了区别ES6的 set 类型,我们这里选择用 MySet 命名):
//构造函数 function MySet () { this.dataStore = []; // 数据存储 this.add = add; // 添加成员 this.remove = remove; // 删除成员 this.size = size; // 集合元素个数 this.union = union; // 集合求并集 this.intersect = intersect; // 集合求交集 this.subset = subset; // 判断一个集合是否是另一集合的子集 this.difference = difference; // 集合求补集 this.contains = contains; // 判断某成员是否属于该集合 this.show = show; // 显示当前集合 }