C++ 中STL和 数据结构 的问题

Lippman写的C++ primer 中大量用到STL,要求读者尽量使用STL

我知道C语言的学习过程中是需要学习数据结构的,要掌握线性表,队列,树,图等。
但是C++中STL封装了很多数据结构
直接用STL中封装的数据结构既快又安全还省事

那么我想问一下,在有了STL的情况下,学习C++还需要学习数据结构吗?
就是说,还有必要专门学习写C++中的顺序表,链表,队列一类的东西吗?
如果需要,意义在哪里呢?

当然要学。
数据结构教授的是一些算法的思想,属于基本知识,而STL仅仅是在应用上实现了其中的某些算法。
这就好比,虽然我们有了计算器,但是还要学习加减乘除,一样的道理。
STL没有提供很复杂的东西,例如我们可能需要做N叉树,这玩意是STL中没有的,还是需要学好数据结构,然后根据其中的思想实现(当然实现中,可以借助STL工具)。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-03-15
要的

1. 做作业时/考试时,有时要求不让用STL
2. 有时需要根据自己的程序,写出特定但是优化的数据结构
第2个回答  2011-03-15
你想学好C++当然就得学了
现在工具很多,你学基础就把基础打好,要不以后只能当工具小子
你现在学这些东西就是在学习编程思路,我认为应该好好的学
第3个回答  2011-03-16
当前需要学习,了解内部实现可以更好的使用这些基础数据结构,并且可以对STL库做适合自己的扩展.并且最大的好处是,面试中这类问题问到的几率相当大/
第4个回答  2011-03-15
肯定要学啊,了解数据结构,可以扩充自己的STL
相似回答