<body>
<div>
<h1>
队列和栈的区别
</h1>
<h3>基础特点</h3>
<ul>
<li>
<h4>队列:先进先出</h4>
<div>
基本原则:队列遵循的是FIFO(先进先出)的原则的一组有序的项。队列从尾部添加新元素,并从顶部移除元素,最新添加的元素必须排列在队列的末尾
</div>
<h5>普通队列</h5>
<span>队列</span>
<span id="queue"></span>
<h5>优先级队列</h5>
</li>
<li>
<h4>栈:先进后出</h4>
<span>b</span>
</li>
</ul>
<h3>
应用
</h3>
</div>
<script>
let queueCom = document.getElementById('queue');
queueCom.innerHTML =
'<div style="margin-top:20px">function Queue() {' +
'this.container = [];' +
'}// 创建队列,定义一个队列容器</div>' +
'<div style="margin-top:20px">//给队列原型上添加属性</div>' +
'<div><div>';
</script>
<script>
function Queue() {
// 定义一个容器,放队列的数据
this.queueArg = [];
}
// 给队列的原型上添加队列的属性,实现一些,进队列,出队列功能
Queue.prototype = {
constructor: Queue,
// 进队数据处理
enter: function enter(element) {
// 队列的特性:进队列是从后面进,使用push每次给数组后面添加数据,实现进入队列
this.queueArg.push(element);
},
// 出队列数据处理
leave: function leave() {
// shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。
// 先进先出的特性:使用 shift 从队列头部删除一个数据,实现出队
if (this.queueArg.length === 0) return;
return this.queueArg.shift(); //删除数组的第一个元素并返回
},
// 获取队的长度
size: function size() {
return this.queueArg.length;
},
// 清空队列
empty: function empty() {
this.queueArg = [];
}
};
console.log(new Queue());
</script>
</body>
网友评论