Profile avatar

鱼翅

同歌性歌颂,同歌性发原

最近更新

本站由 yuchiXiong 使用 Stellar 1.29.1 主题创建。

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。

五彩斑斓的黑? 喷一喷单色黑与四色黑2024 年,我终于用上 rem 了......吐槽一下: 还得是拓展坞懂视频接口暗话 JavaScript 函数式: add(3)(4)一点都不酷前端条件竞态乱谈——可能被我误解的函数防抖数据结构其二 并查集数据结构其一 线性表JavaScript 元编程——基于 Proxy 实现 active_record 动态查找从 Rails 视角看现代前端——换一种方式实现 SPA在 Rails 中接入微信支付指北
主页/数据结构与算法
2022-02-13
2341 次阅读

数据结构其一 线性表

数据结构线性表链表数组

线性表的概念

线性表是具有相同数据类型的n个数据元素的有限序列。其特点是:

  • 除第一个元素外,每个元素有且仅有一个前驱
  • 除最后一个元素外,每个元素有且仅有一个后继

线性表的分类

线性表主要分为两类:

  • 顺序表:用一段连续的存储空间存储线性表中的元素
  • 链表:用一组任意的存储单元存储线性表中的元素

JavaScript中的实现


// 顺序表(数组)
const sequentialList = [1, 2, 3, 4, 5];

// 链表
class Node {
  constructor(data) {
    this.data = data;
    this.next = null;
  }
}

class LinkedList {
  constructor() {
    this.head = null;
    this.size = 0;
  }
  
  // 添加元素
  add(data) {
    const node = new Node(data);
    if (!this.head) {
      this.head = node;
    } else {
      let current = this.head;
      while (current.next) {
        current = current.next;
      }
      current.next = node;
    }
    this.size++;
  }
  
  // 其他方法...
}
      

许可协议

本文采用 署名-非商业性使用-相同方式共享 4.0 国际 许可协议,转载请注明出处。

较旧文章
JavaScript 元编程——基于 Proxy 实现 active_record 动态查找
数据结构其二 并查集
较新文章