作为一个开发人员,无论是前端还是后端,基础的数据结构知识是必要的。本文主要是说在前端中经常使用的数据结构及相关的实现。
这里把数据结构分为线性表和非线性表。
1.线性表
代表: 数组、链表、队列、栈
特点:数据只有前后的线性关系
1.1 数组
定义:有序的数组集合,可以通过数组名称+索引访问,索引从0开始
特点: 连续的内存空间存储 ====》 支持随机访问、插入和删除低效
数组的每一项可以是不同类型(区别Java等强语言)
数组的长度可变(区别Java等强语言)
实现: js自带数组
1.2 栈
特点: 后进后出
新添加的元素在末尾,成为栈顶,另一端为栈底
在栈中,新元素靠近栈顶,旧元素靠近栈底
操作受限,只允许在一侧进行操作
实现:
// function stack
function stack(){
this.item = [];
this.push = function(el){
this.item.push(el);
}
this.pop = function(){
网友评论