数据结构于JS也能够成为CP(四)队列

Hello小伙伴们,很久不见,栈说完了,咱们就来讲说队列吧~这是个和栈遥相呼应的数据结构呢。还记得栈的特色吗,栈只能在栈顶添加或删除。栈是一种后入先出的结构。而队列呢,则相反,只能队尾插入元素、队首删除元素,主要用于存储顺序的数据,先进先出。javascript

队列的实现java

咱们根据队列的特色,思考一下咱们须要怎样的操做呢?首先要有个数据元素的容器,所以咱们须要一个数组;而后咱们要知足可以从队尾插入数据,那么咱们须要push方法;咱们须要可以删除队首的元素,所以咱们须要一个shift方法,这里可别记反了(unshift才是插入哦);那么咱们既然完成了队列的功能,那就还须要把它显示出来啦,因此还须要一个toString方法咯。最后若是想判断队列是否为空,咱们就能够经过数组长度来判断啦。好啦,思路到此为止,下面就让咱们看看具体怎么实现咯!
数组

function Queue(){ this.dataStore=[]; this.enqueue=enqueue; this.dequeue=dequeue; this.front=front; this.back=back; this.toString=toString; this.empty=empty;}function enqueue(element){ this.dataStore.push(element);}function dequeue(){ this.dataStore.shift();}function front(){ return this.dataStore[0];}function back(){ return this.dataStore[this.dataStore.length-1];}function toString(){ var retStr=""; for(var i=0; i<this.dataStore.length;++i){ retStr+=this.dataStore[i]+"\n"; } return retStr;}function empty(){ if(this.dataStore.length==0){ return true; }else{ return false; }}


队列的使用微信

小伙伴们,如今是否可以独立完成一个队列数据结构的构造了呢?下面就让咱们看看队列都能放在哪里使用吧~数据结构

1)数据排序:对各个位上的数字进行排序,先排序个位、再十位。这是排序的一种思路。
this

2)优先队列:若是删除元素的时候须要删的并非首元素,这时候就须要优先队列了,这里咱们就要设置一下优先等级了。spa

3)在现实生活中,也会用到,好比医院病人的紧急程度、好比排队作什么事情等。.net


好啦,今天的分享就到这里啦~但愿小伙伴多多关注哦~最近分享的都是数据结构,若是小伙伴们对内容有更好的建议,请在后台留言哟~code

本文分享自微信公众号 - 萌兔it(mengtu_it)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。orm

相关文章
相关标签/搜索