数据结构总结1

一、数组结构

与其他语言相比js的数组的特性

1.添加与删除比较麻烦些

2.查看与修改是很简单的

二、栈结构:一种受限的线性结构     规则:先进后出

实现的方法:

  总的构造函数

class Stack {
    constructor(array){
        if(!array) array=[];
        this._items=array;
    }

push() 添加新的元素到栈顶

push(item){
        this._items.push(item);
    }

pop () 移除栈顶元素,并返回被移出的元素

pop(){
        return this._items.pop();
    }

peek()返回栈顶元素, 不做任何修改

 peek(){

        return this._items[this._items.length-1];

    }

isEmpty() 判断是否为空,返回布尔值

  isEmypt(){
         return this._items.length===0;

     }

size() 返回栈元素的个数

 size(){
         return this._items.length;
     }

toString() 将栈内元素以字符串形式输出

 toString(){
        
         let arr=this._items.reverse();
         return arr.join(",")
     }

三、队列:一种受限的线性结构

 enqueue()  添加新元素到队列中

    enqueue(item){

        this._items.push(item);

    }

    dequeue ()删除元素并返回   

 dequeue(){

        return this._items.shift();

    }

    front()返回队列中的第一个元素

    front(){

        return this._items[0] || undefined  //不存在返回undefined

    }

    isEmpty ()   判断队列是否为空

    isEmpty(){

        return this._items===0

    }

    

 size() 返回队列元素的个数

 size(){
         return this._items.length;
     }

toString() 将队列内元素以字符串形式输出

 toString(){
        
         let arr=this._items.reverse();
         return arr.join(",")
     }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值