java - c++学习数据结构应不应该用stl实现?
问题描述
数据结构初学者,之前有看过大话数据结构的线性表,栈,队列的内容,c实现的。学校这学期开数据结构c++,我直接看国外的教材,里面都是stl实现的,比如线性表数组描述删除一个元素是移动元素直接用copy,怎么移动的过程也没有,因为之前了解点数据结构还能理解,但越往后面担心只会记语法而不理解了,这本书关于数据结构的应用写的很详细。应该边看这本书,边看学校的教材(和大话一样挺通俗的)。还是直接看这本书作为正式入门数据结构的教材?
挺厚一本,应用偏多
一大堆,抛出异常和stl的语法
问题解答
回答1:要习惯使用STL,因为你现在学的是数据结构,不是学习STL源码,你的目标应该是搞懂数据结构,所以不要拘泥于这些细节,否则会花费掉你大量的时间.
你可以把数据结构看完之后,再找一本STL源码分析的书来看.
回答2:没关系,这只是依据语言特性简化了操作。如果实在担心,可以再看看用C语言实现的。
回答3:您好, 我也是初学者. 虽然我自己学数据结构是先用c++(without stl)来学数据结构, 再用纯c学习数据结构的, 不过我觉得其实没有绝对的优劣之分, 隐藏细节可以更专注于算法的表示, 显示细节可以更深刻的理解其具体实现, 孰优孰劣, 真的很难界定, 就像抛一枚硬币, 其实哪面朝上都无所谓, 有的大神是自顶向下学习, 有的大神是自底向上学习, 我觉得由此得出的结论是都可以通往终点, 与其纠结这些, 不如选定一种立即着手开始学起来. 犹豫才是最浪费时间的. 我个人觉得直接去计蒜客学知识点然后刷对应的数据结构题比较合适入门, 题主的那本书我也有...
回答4:个人认为:有足够时间学习的话,自然是先能够自己实现再使用STL比较好咯.....
回答5:使用stl实现肯定是要学的,毕竟使用stl可以加快开发效率。对于初学者建议不纯使用stl,stl不是万能的,最终还是要理解数据结构内部原理,这样使用stl实现起来才能更加得心应手。另外对于学校课程还是不用的好,不然提交作业只是包含了相关头文件,几乎没有自己的实现。也可以用简单的stl堆砌复杂的数据结构。
相关文章:
1. java - 3个dao的数据根据请求参数选择一个映射到一个url上,怎么写比较好?2. html5 - 百度Ueditor代码高亮和代码段滚动条冲突是怎么回事?3. docker 17.03 怎么配置 registry mirror ?4. javascript - 关于一段 for 循环代码执行顺序的问题5. javascript - 读取页面源码,页面中所有的换行都被当成<br/>读取出来 了,,求解应该怎么让它被正确的解析6. docker网络端口映射,没有方便点的操作方法么?7. javascript - 静态页面引公共头尾文件,js怎么写吖?8. javascript - vue 数据更新了。但是dom没有更新,,,,,如图9. javascript - JS中如何实现 DIV内部和鼠标的距离10. docker绑定了nginx端口 外部访问不到