
数据结构
runzhi_z
这个作者很懒,什么都没留下…
展开
-
Queue接口实现
Queue队列是一种先进先出数据结构,Queue是一个接口,具体的实现类又有哪些呢? 注:Queue中有一些方法:add(),offer(),remove(),poll() add():当队列容量有限制无法再添加元素时,使用add方法来添加会抛出异常,使用offer方法,能添加成功返回true,添加失败返回false remove():当队列为空时,使用remove会报错,使用poll方法,返回...原创 2019-12-09 00:18:29 · 672 阅读 · 0 评论 -
list接口实现
list接口实现类主要有:ArrayList,Vector,LinkedList 其中LinkedList基于链表存储数据,中间插入删除数据时较为方便 另外两种Arraylist,Vector底层都是基于动态数组存储,在尾部添加元素时,较为方便,但是在数组中间添加删除元素中时,需要移动后面的数据,故在数组中间添加删除数据时效率较低,这也是两者的相同点 那么两者有什么区别?:ArrayList线性不...原创 2019-12-08 23:34:21 · 208 阅读 · 0 评论 -
Map接口实现
前面讲了set接口的实现类,这里简单介绍Map接口的实现,主要三种HashMap,TreeMap,LinkedHashMap,这三种实现类与set的常见三种实现了非常相似,除去map和set接口本身区别(map中存储的是键值对,set中存储是单个元素) 对下面三个实现类与set实现类相似,这里不详谈,具体参考set接口实现 (1)HashMap中键值对无序,无索引,两种遍历方式(增强for型遍历...原创 2019-12-08 19:29:31 · 438 阅读 · 0 评论 -
set接口实现
set接口,我们可以将其理解为数学中的集合。set中的元素是不重复的,没有索引,所以我们不能通过普通的for循环来遍历set中的元素。 set接口的实现,主要有三种:HashSet,TreeSet,LinkedHashSet 1.HashSet:其中的元素是无序的,因为没有索引所以如果想遍历HashSet一般用两种方式:增强型for循环和使用迭代器来遍历。 HashSet<Integer...原创 2019-12-08 18:52:54 · 504 阅读 · 0 评论 -
Java数据结构--查找
简单介绍常用的查找方法: 顺序查找 从线性表开始依次查找,若找到返回索引下标,没有找到则返回-1。 //顺序查找 public int seqSearch(int[] data,int key){ int index; for(index=0;index<data.length;index++){ if(data[index]==key)return index; } ...原创 2019-11-15 08:59:37 · 417 阅读 · 0 评论 -
Java数据结构--排序
常用的排序原创 2019-11-14 22:40:31 · 192 阅读 · 0 评论 -
数据结构--队列
队列是一种特殊的线性表,区别在于队列只能在表的尾部(队尾)插入数据(称为入队),从表的头部(队头)删除数据(称为出队),故队列中的元素遵循先进先出(FIFO)的原则。线性表分为顺序存储和链式存储两种存储方式,队列自然也是,顺序存储的队列成为顺序队列,链式存储的队列成为链式队列。 顺序队列 单向列表 两个指针域,front指向队列队首元素位置,rear指向队尾元素的下一个存储单元。元素入队或出队...原创 2019-09-19 11:28:12 · 238 阅读 · 0 评论 -
数据结构-线性表
线性表原创 2019-09-19 22:48:06 · 327 阅读 · 0 评论 -
数据结构--树与二叉树
树是一种非线性结构,树中的每个结点有且只有一个前驱结点(除根结点没有前驱结点),可以有多个后驱结点,数据之间的逻辑关系并不是“一对一”关系,而是“一对多”的关系,反应数据元素之间的层次关系。 树 在讲二叉树之前先介绍一个树 树是由n个结点构成,连接数据元素的称为边,边就类似于生活中树的枝干。树中唯一没有前驱结点(父节点)的结点成为根结点,除了根结点,其他结点有且只有一个根结点,此外,树中每个结点有...原创 2019-09-20 23:57:37 · 575 阅读 · 0 评论