js数组的队列和堆栈是什么意识

JavaScript08

js数组的队列和堆栈是什么意识,第1张

栈:特点就是一个先进后出的结构。队列:特点就是一个先进先出的结构。//一般只要你满足这个特点就可以称之为栈或队列。栈的应用:非常广泛,在CPU内部就有提供栈这个机制。主要用途:函数调用和返回,数字转字符,表达式求值,走迷宫等等。在CPU内部栈主要是用来进行子程序调用和返回,中断时数据保存和返回。在编程语言中:主要用来进行函数的调用和返回。可以说在计算机中,只要数据的保存满足先进后出的原理,都优先考虑使用栈,所以栈是计算机中不可缺的机制。队列的应用:队列主要用在和时间有关的地方,特别是操作系统中,队列是实现多任务的重要机制。windows中的消息机制就是通过队列来实现的。进程调度也是使用队列来实现,所以队列也是一个重要的机制。只要满足数据的先进先出原理就可以使用队列。

结果:

[ 5, 4, 3, 2, 1 ]

1

[ 5, 4, 3, 2 ]

[ 5, 4, 3 ]

3

[ 5, 4 ]

厉害了 我的JS

我们先来看一看对列的常见操作

下面实现对列的常见操作及验证

<!doctype html>

<html lang="en">

    <meta charset="UTF-8">

    <meta name="viewport"

          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">

    <meta http-equiv="X-UA-Compatible" content="ie=edge">

    <title>Queue的使用!

<!--    封装队列类-用数组实现-->

function Queue(){

//属性

        this.items=[]

//    方法

    //    1.将元素插入到队列中

        Queue.prototype.enqueue=(elements)=>{

this.items.push(elements)

}

//    2.从队列中删除首要元素

        Queue.prototype.dequeue=()=>{

//这是js中的shift删除方法,用于把数组中第一个元素的值从其中删除,并返回第一个元素的值

            return this.items.shift()

}

//    3.查看当前的元素

        Queue.prototype.front=()=>{

return this.items[0]

}

//    4.查看队列是否为空

        Queue.prototype.isEmpty=()=>{

return this.items.length===0

        }

//    5.查看队列中元素的个数

        Queue.prototype.size=()=>{

return this.items.length

        }

//    6.toSting的方法

        Queue.prototype.toString=()=>{

let resultString=''

            for (let i=0i

resultString +=this.items[i]+' '

            }

return resultString

        }

}

//    使用队列

    let queue=new Queue()

//验证,将元素加入到队列中

queue.enqueue('abc')

queue.enqueue('cba')

queue.enqueue('nba')

queue.enqueue('cxw')

alert(queue)

//从队列中删除元素

queue.dequeue()

alert(queue)

queue.dequeue()

alert(queue)

//验证front

alert(queue.front())

//、验证其他方法

alert(queue.isEmpty())

alert(queue.size())

</html>

验证结果