棧(stack)又名堆棧,它是一種運算受限的線性表。其限制是僅容許在表的一端進行插入和刪除運算。這一端被稱爲棧頂,相對地,把另外一端稱爲棧底。向一個棧插入新元素又稱做進棧、入棧或壓棧,它是把新元素放到棧頂元素的上面,使之成爲新的棧頂元素;從一個棧刪除元素又稱做出棧或退棧,它是把棧頂元素刪除掉,使其相鄰的元素成爲新的棧頂元素。(後入先出)
入棧使用 push() 方法,出棧使用 pop() 方法前端
<script> function sum(num){ let arr1=[] while(num>0){ let num1=num-- arr1.push(num1) console.log("入棧",num1) } console.log(arr1) while(arr1.length>0){ console.log("出棧",arr1.pop()) console.log("出站",arr1) } } sum(7) </script>
隊列是一種特殊的線性表,特殊之處在於它只容許在表的前端(front)進行刪除操做,而在表的後端(rear)進行插入操做,和棧同樣,隊列是一種操做受限制的線性表。進行插入操做的端稱爲隊尾,進行刪除操做的端稱爲隊頭。
先進先出後端
<script> var food=new Array(); food.unshift("1","2","3","4"); alert(food); while(food.length>0){ food.shift(); alert(food); } </script>