为了账号安全,请及时绑定邮箱和手机立即绑定

学数据结构用C还是C++?

/ 猿问

学数据结构用C还是C++?

查看完整描述

8 回答

?
叫我皮卡丘

用C学数据结构,能手撸出每种数据结构,然后用C++写应用,C++里面有STL容器类,可以直接调用各种数据结构

查看完整回答
1 反对 回复 2018-04-20
?
江南碎碎鱼

c,c++,java 都行 建议用c

查看完整回答
反对 回复 2018-04-19
?
qq_风雨欲来我毅然前行_0

现在python很火,我觉得python也不错

查看完整回答
反对 回复 2018-04-19
?
千岁不倒翁

用C学数据结构,然后用的时候C++

查看完整回答
1 反对 回复 2018-04-19
?
慕UI0519722

学习用 C,简单,基础
工作用C++, 开发快,错了也不会扣分(扣不扣工资我就不知道了)

查看完整回答
反对 回复 2018-04-19
?
乱世浮沉青樓半生

学校用c教的。

查看完整回答
反对 回复 2018-04-19
?
慕仔4209126

简单和中级的数据结构,用C写,很有好处。比如表,二叉树,堆,并查集之类的。

再复杂一点的就建议用C,比如图的非递归遍历会用到队列,但你这时关注点应该在图上,而不应该是队列或者其他细枝末节,这些细枝末节直接拿标准库搞定就可以了。

再用Java或C井把学过的东西重写一下,体验一下纯面向对象,体验一下纯引用世界。或者以泛型模板的方式把这些数据结构用C和C井写成轮子

查看完整回答
反对 回复 2018-04-19
?
慕勒551688

C++ 有模板,是描述数据结构的利器:

  • hash_set<T> 的内部结构可以描述为 vector<list<T>> 或者 vector<forward_list<T>>

  • map<string, vector<int>>,记录一个单词在文件中出现的位置,一句话就说清楚了。

用 C 语言就麻烦得多,要么写很多重复的代码(例如 stack<int> 和 stack<double>),要么用void*来搞,失去类型安全和 locality 的好处

查看完整回答
反对 回复 2018-04-19

添加回答

回复

举报

0/150
提交
取消
意见反馈 邀请有奖 帮助中心 APP下载
官方微信