第2章 TypeScript封装或实现常用容器

  • 2.1 ArrayBuffer、DataView以及类型数组实现原理

    • 2.1.1 C/C++模拟JS/TS中的ArrayBuffer对象

    • 2.1.2 C/C++模拟JS/TS中的DataView对象

    • 2.1.3 C/C++版CDataView vs. JS/TS版DataView

    • 2.1.4 C/C++模拟JS/TS中的Float32Array对象

    • 2.1.5 C/C++版CFloat32Array vs. JS/TS版Float32Array

    • 2.1.6 JS/TS中的类型数组对象

  • 2.2 封装动态类型数组

    • 2.2.1 TypedArrayList的成员变量及构造函数

    • 2.2.2 TypedArrayList的push方法

    • 2.2.3 TypedArrayList的slice方法和subarray方法

    • 2.2.4 TypedArrayList的其他方法和属性

    • 2.2.5 capacityChangedCallback回调函数

  • 2.3 封装关联数组

    • 2.3.1 JS/TS中的关联数组

    • 2.3.2 TypeScript索引签名

    • 2.3.3 ES6 Map对象

    • 2.3.4 封装成Dictionary字典对象

    • 2.3.5 测试Dictionary对象

    • 2.3.6 红黑树还是哈希表

  • 2.4 实现SGI STL风格双向循环链表

    • 2.4.1 泛型的ListNode结构

    • 2.4.2 List中的头节点

    • 2.4.3 双向循环概念

    • 2.4.4 List的查询与遍历操作

    • 2.4.5 List的插入操作

    • 2.4.6 List的删除操作

    • 2.4.7 List的push / pop / push_front / pop_front操作

  • 2.5 封装队列与栈

    • 2.5.1 声明IAdapter< T >泛型接口

    • 2.5.2 实现AdapterBase< T >抽象基类

    • 2.5.3 实现Queue子类和Stack子类

  • 2.6 实现通用树结构

    • 2.6.1 树结构的内存表示

    • 2.6.2 树节点添加时的要点

    • 2.6.3 树节点isDescendantOf和remove方法的实现

    • 2.6.4 实现addChild等方法

    • 2.6.5 查询树结构的层次关系

    • 2.6.6 广度/深度优先遍历算法

    • 2.6.7 队列及栈在广度/深度优先遍历中的应用

    • 2.6.8 广度/深度线性遍历枚举器

    • 2.6.9 树结构枚举器的实现

    • 2.6.10 测试树结构迭代器

    • 2.6.11 深度优先的递归遍历

  • 2.7 本章总结

随风而行之青衫磊落险峰行(www.buleifeng.top) all right reserved,powered by Gitbook本文件修订时间: 2019-10-08 10:52:05

results matching ""

    No results matching ""