数据结构
文章平均质量分 50
小小巴
这个作者很懒,什么都没留下…
展开
-
双链表(java c/c++)
双链表中每一个节点有两个指针域,一个指向前驱结点,一个指向后续节点。因此可以通过访问前置节点,更加的方便。c/c++实现照例建立一个结构体,但是拥有两个指针域struct Node{ Node *head; //指向前置节点 int data; Node *next;//指向后置节点};照例添加5个数字void getDoubleNodeHead()原创 2017-09-25 19:39:59 · 271 阅读 · 0 评论 -
数据结构(栈)c/c++/java实现
数据结构(栈)c/c++/java实现栈是一种只能在一端进行插入或删除的线性表,表中能够进行删除和插入的一段称为栈顶。比如插入数字1,2,3,4。栈顶元素就为4,从栈顶向栈底看下去,数字依次是4,3,2,1。java基本实现通过在类中进行基本的数据操作public class Stack{ private int count; private int[] data;原创 2017-09-25 21:23:03 · 480 阅读 · 0 评论 -
数据结构单链表创建(头插法,尾插法)java/c/c++
单链表在单链表中,每一个节点都有一个指针域指向后继节点,从而形成一种链接的作用。 在c/c++中可以通过结构体的形式,通过指针形成链表,在java中可以通过类的形式来实现。附上c/c++的单链表struct Link{ int data; Link *next;};头插法顾名思义就是从头开始插入,插入的顺序会和链表中的数据发生颠倒。//单链表头Link* creatSingle原创 2017-09-24 21:07:12 · 4270 阅读 · 0 评论 -
数据结构队列
数据结构队列队列也是一种操作受限的限制表,其仅允许在表的一端进行插入,在表的另外一边进行删除 ,就像我们平时排队一样,总是后面插入,前面的人买好东西离开。简单的基本数据队列实现 c/c++实现Quene *quene;#define Max_Size=5;struct Quene{ int data[Max_Size]; int front; //设置出原创 2017-09-26 13:31:01 · 268 阅读 · 0 评论 -
双向链表在java中的应用举例-LinkedList
双向链表在java中的应用举例-LinkedList复习了链表,作为一种高效的存储数据的方式public class LinkedList<E> extends AbstractSequentialList<E> implements List<E>, Deque<E>, Cloneable, java.io.Serializable这里LinkedList 继承于AbstractS原创 2017-09-26 20:08:23 · 1626 阅读 · 1 评论 -
动态数组的实现-ArrayList
动态数组的实现-ArrayList说完了LinkedList,来谈下另外一种常用的数组ArrayList。 可以看到他们同时实现了List接口,但是ArrayList和LinkedList的区别是LinkedList利用了双向链表的方法来进行创建,ArrayList利用了动态数组的方法,进行创建,类似于c中的动态数组申请。从他们的创建方法也可以看出来,当数据较大时候,从中间插入,从头部插入,和在尾原创 2017-09-26 20:35:05 · 2426 阅读 · 0 评论 -
数据结构-树
数据结构-树树的定义树是由n(n>=0)个节点组成的有限集合 如果n=0,这是一颗空树;如果n>0,这n个节点有且只能存在一个节点作为树的根节点(root)。树的每一个节点可以有零个或者多个后继节点,但是有且只有一个前驱节点(根节点没有前驱节点),反映了数据元素之间的层次关系。树中某个节点的子数的个数称为该节点的度,树中节点最大的度称为该树的度。度不为0的节点称为非终端节点,为0 的节点称原创 2017-09-28 13:35:14 · 223 阅读 · 0 评论 -
java 集合解析(一)collection和Iterable
java 集合解析(一)collection和Iterable先上一张从网上找的图,将集合也是概括的挺详细的 从图里可以看出collection是java中的一个顶层接口,list,queue和set继承了collection接口。 既然要说的是collection,我们打开源码collection看一下。public interface Collection<E> extends Iterab原创 2017-09-28 14:49:14 · 1914 阅读 · 0 评论