链表(linklist) 单项链表可以说是数据结构里面最简单的部分,也是十分重要的部分,数据结构后面的学习中 比如说:栈,队列,树, 图 都要使用这种数据结构来表示。 不多说,进入我对链表的理解部分。 简介: 链表是一种数据结构,链表中,数据对象实例的每一个元素都用一个单元或节点来描述。每一个节点中 ...
分类:
其他好文 时间:
2016-06-20 22:00:05
阅读次数:
176
在游戏的编写中,不可避免的出现很多应用数据结构的地方,有些简单的游戏,只是由几个数据结构的组合,所以说,数据结构在游戏编程中扮演着很重要的角色。
本文主要讲述数据结构在游戏中的应用,其中包括对链表、顺序表、栈、队列、二叉树及图的介绍。读者在阅读本文以前,应对数据结构有所了解,并且熟悉C/C++语言的各种功用。好了,现在我们由链表开始吧!
1、链表
在这一节中,我们将通过一个类似雷...
分类:
其他好文 时间:
2016-06-12 02:46:41
阅读次数:
170
1.提供一组栈的接口,其底层关联到一个LinkedList(双端队列)实例。由于只暴露部分基于栈实现的接口,所以可以提供安全的栈实现。 package junit; import java.util.LinkedList; /** * 用LinkedList实现栈 * * 队列和栈区别:队列先进先出 ...
分类:
编程语言 时间:
2016-05-30 23:22:04
阅读次数:
234
更多信息可参考我的个人博客:贱贱的梦想
LinkedList简介
LinkedList 是一个继承于AbstractSequentialList的双向链表。它也可以被当作堆栈、队列或双端队列进行操作。
LinkedList 实现 List 接口,能进行队列操作。
LinkedList 实现 Deque 接口,即能将LinkedList当作双端队列使用。
ArrayList底层是由数组支持,而Lin...
分类:
编程语言 时间:
2016-05-30 15:19:55
阅读次数:
144
栈具有“后进先出”的特点,即某个元素最后进入栈,却最先出栈;队列具有“先进先出”的特点,即元素从队尾依次进队列,依次从队头出队列;现在用两个队列模拟实现一个栈的过程,详细过程请看下面这张本人制作的gif图:实现代码:#include<iostream>usingnamespacestd;#i..
分类:
其他好文 时间:
2016-05-28 23:25:34
阅读次数:
225
综合前面的介绍和实例代码,我们可以知道,如果涉及到堆栈、队列等操作,应该考虑用 List。对于需要快速插入、删除元素等操作,应该使用 LinkedList。如果需要快速随机访问元素,应该使用 ArrayList。如果程序在单线程环境中,或者访问仅仅在一个线程中进行,考虑非同步的类,其效率较高。如果多个线程可能同时操作一个类,应该使用同步的类。要特别注意对哈希表的操作,作为 Key 的对象要正确复写 Equals 和 HashCode 方法。尽量返回接口而非实际的类型,如返回 List 而非 ArrayLis...
分类:
编程语言 时间:
2016-05-23 15:14:20
阅读次数:
164
一、源码解析 1、 LinkedList类定义。 LinkedList 是一个继承于AbstractSequentialList的双向链表。它也可以被当作堆栈、队列或双端队列进行操作。LinkedList 实现 List 接口,能对它进行队列操作。 LinkedList 实现 Deque 接口,即能 ...
分类:
其他好文 时间:
2016-05-19 17:46:36
阅读次数:
227
思路:栈s1和栈s2,s1用来Push数据,s2用来Pop数据入队:数据直接压入栈s1中出队:若s2为空,则把s1中除过最后一个压入的元素全部移入s2中,然后弹出s1的栈顶元素若s2不为空,直接弹出s2的栈顶元素#define_CRT_SECURE_NO_WARNINGS1#include<iostream>#include<stack&g..
分类:
其他好文 时间:
2016-05-15 19:59:30
阅读次数:
210
本来画了图的,可是今天传上来的图片都看不了,只能默默敲下来了思路:队列s1和队列s2Push进来的元素压入非空队列Pop操作之后的元素放在空队列入栈:(1)s1为空,s2为空把所有数据压入s1中(2)s1为空,s2不为空数据压入s2(3)s1不为空,s2为空数据压入s2出栈:(1)s2为空把..
分类:
其他好文 时间:
2016-05-15 19:57:29
阅读次数:
172