这是我在南京大学,于2021年秋季学期开始的项目,初衷是为了解决数据结构课程的OJ禁止使用容器的问题。后来感觉,写一遍这东西有助于理解标准库的使用和实现,而且可以带来不少的成就感。
写这份东西时,代码大量抄写了senlinzhan/mystl: C++11 实现的简易版 STL (github.com),且未得到原作者的允许。这里放在这,只是希望可以给学弟学妹们一些方便;如果该仓库已经触犯正在阅读本文的您的利益,请立即通知我,我将尽快处理。
对于学弟学妹,我希望你们不是单纯地拿过来用;而是能够在理解的基础上自己动手写一遍,这对课程的学习还是十分有益的。如果喜欢,不忘给该项目和原作者的项目一个Star。
- list(早期产品,未接入统一迭代器接口,故用List以示区分)
- vector
- deque
- queue(包括priority_queue)
- stack
- unordered_set
- sort(仅使用快速排序实现)
上述实现一般均支持C++11以前的大部分功能,具体请见源代码。