后进先出,数据结构类似于蜂窝煤,js中可以用数组push() pop() 来模拟栈
应用场景
var isValid = function(s) { let stack=[]; for(let i=0;i<s.length;i++){ if(s[i]==="("||s[i]==="["||s[i]==="{"){ stack.push(s[i]) }else{ if(stack[stack.length-1]==="("&&s[i]===")"|| stack[stack.length-1]==="{"&&s[i]==="}"|| stack[stack.length-1]==="["&&s[i]==="]"){ stack.pop() }else{ return false; } } } return stack.length===0 }
后进先出,数据结构类似于排队,js中可以用数组push() shift() 来模拟队列
应用场景

多个元素组成的链表,元素存储不连续,用next指针连在一起,js中可以用对象来模拟链表
应用场景
const a={val:"a"}
const b={val:"b"}
const c={val:"c"}
const d={val:"d"}
a.next=b
b.next=c
c,next=d
//遍历
let p=a;
while(p){
console.log(a.val)
p=p.next
}
//插入
let e={val:"e"}
b.next=e
e.next=c
//删除
b.next=c
原文:https://www.cnblogs.com/kangxinzhi/p/14948140.html