javascript数据结构
午夜司令
这个作者很懒,什么都没留下…
展开
-
js-实现单向链表
单向链表(单链表)是链表的一种,其特点是链表的链接方向是单向的,对链表的访问要通过顺序读取从头部开始。javascript实现单向链表代码如下:function LinkedList() { var Node = function (element) { //表示要加入列表的项,next属性指向下一个节点项的指针 this.element = element; thi原创 2016-01-12 10:57:04 · 547 阅读 · 0 评论 -
js-队列使用-循环队列实现击鼓传花
队列是遵循FIFO(先进先出)原则。循环队列是修改版的队列实现。击鼓传花游戏的代码如下:function Queue() {//队列类 var items = []; this.enqueue = function (element) { items.push(element); } this.dequeue = function () { items.shift();原创 2016-01-11 16:04:50 · 3548 阅读 · 3 评论 -
js-栈的使用- 利用数组实现十进制转二进制
栈是一种遵从后进先出(LIFO)原则的有序集合。在js中可以使用数组这一数据结构来保存栈里的元素。代码如下:function Stack() {//stack类 var items = [];//数组 //下列是为栈声明的一些方法 this.push = function (element) { items.push(element); } this.pop = f原创 2016-01-11 14:15:52 · 2143 阅读 · 0 评论 -
js-实现双向链表
双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。js代码如下:function DoublyLinkedList() { var Node = function (element) { this.element = element; this.next = null; this.prev = null; }; var leng原创 2016-01-12 15:00:50 · 852 阅读 · 0 评论 -
js-实现集合的操作
function Set() {var items = {};this.has = function (value) {return items.hasOwnProperty(value);};this.add = function (value) {//添加值if (!this.has(value)) {items[value]=value;return fals原创 2016-01-12 19:01:39 · 818 阅读 · 0 评论 -
js-实现字典(键值存储)
字典,我们使用[键,值] 的形式来存储数据。js代码如下 :function Dictionary(){//字典类 var items={};//存储在一个Object的实例中 this.has=function(key){//验证一个key是否是items对象的一个属性 return key in items; }; this.set=function(key,value){原创 2016-01-12 19:40:36 · 6546 阅读 · 0 评论 -
js-数据结构-散列表(线性探查)
在散列表中,当想向表中某个位置加入一个新元素的时候,如果所以为index的位置已经被占据了,就尝试index+1的位置,如果也被占了,就尝试index+2的位置,以此类推。js实现代码:function HashLinearProbing(){ var table = []; var ValuePair = function(key, value){ t原创 2016-01-13 12:37:00 · 708 阅读 · 0 评论 -
js-数据结构-实现散列表(分离链接)
散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。如下解决冲突使用的是分离链表法js实现代码://链表function LinkedList() { var Node = function (eleme原创 2016-01-13 11:39:46 · 394 阅读 · 0 评论