🔴 为什么它排不了链表
std::sort 用不了 list,是因为【0】。
⚠️ 它的模板参数只有一个吗
std::vector<T> 其实还有第二个模板参数,它是【0】。
🔴 一个能通用,一个不能
(本条路线统一用 g++ -std=c++17 -O0 -Wall 编译) #include <iostream> #include <algorithm> #include <list> #includ
⚠️ 把"怎么比"当参数传进去
(本条路线统一用 g++ -std=c++17 -O0 -Wall 编译)容器把它写进模板参数,算法把它写进函数参数: #include <iostream> #include <functional> #inclu
按最低档写,两种容器都能用
(本条路线统一用 g++ -std=c++17 -O0 -Wall 编译)
⚠️ "怎么比"有两种给法
(本条路线统一用 g++ -std=c++17 -O0 -Wall 编译)两次结果该一模一样。
🔴 把"怎么比"写进模板参数
(本条路线统一用 g++ -std=c++17 -O0 -Wall 编译)三对是 b→2、a→1、c→3。
⚠️ 排一份副本,别动原来的
(本条路线统一用 g++ -std=c++17 -O0 -Wall 编译)两种类型都要能用。
🔴 两种泛型路线,差别在什么时候检查
C++ 模板和 Python 鸭子类型,最根本的差别是【0】。
⚠️ Python 的"泛型"要写什么
Python 里写一个"能用于多种类型"的函数,要额外写【0】。