程序笔记   发布时间:2022-07-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了前端数据结构大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

后进先出,数据结构类似于蜂窝煤,js中可以用数组push()  pop() 来模拟栈

应用场景

  • 十进制转二进制
  • 有效的括号(Leetcode20)
  • 函数执行栈中
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() 来模拟队列

应用场景

  • 食堂排队
  • js异步中的任务队列
  • 计算最近请求次数leetcode993

前端数据结构

 

 

 链表

多个元素组成的链表,元素存储不连续,用next指针连在一起,js中可以用对象来模拟链表 

应用场景

  • leetcode237删除链表 
  • leetcode206反转链表
  • leetcode2两数相加
  • leetcode83删除排序链表中的重复元素
  • leetcode141环形链表
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

 

 

大佬总结

以上是大佬教程为你收集整理的前端数据结构全部内容,希望文章能够帮你解决前端数据结构所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。