【问题标题】:Application of LinkedList C++ vs C#链表 C++ 与 C# 的应用
【发布时间】:2015-04-17 07:56:29
【问题描述】:

数据结构的核心是链表。由于指针和所有这些,学生们经常发现它有点困难(当用 C++ 实现时)。但是如果我们将它与 C# 中的 LinkedList 进行比较,它更容易掌握并且没有任何大惊小怪的指针等。所以(不尊重 40 年前写的遗留书籍),有什么理由让我们与 C# LinkedList 相比,我们的课程或软件工程中仍应使用 C++ LinkList 吗?

【问题讨论】:

  • 链表的概念当然值得理解,即使微软的实现不需要知道就可以轻松使用
  • 不应该在 programmer.stackexchange 上吗? “Programmers Stack Exchange 是一个问答网站,面向对软件开发概念性问题感兴趣的专业程序员”
  • @AndyBrown - 这对程序员来说可能不会很好。职业和教育建议显然是题外话。 “教育建议”包括这样的问题。

标签: c# c++ data-structures linked-list


【解决方案1】:

对于单个数据结构无法回答此问题。通常,学生会学习不止一种数据结构(堆栈、队列、链表、二叉树等)。学生将使用哪些语言来实现这些数据结构是基于教授的观点的决定关于这个话题。

但是,我坚信使用 C 或 C++ 等语言教授数据结构,可以让学生更深入地了解事情在一天结束时是如何工作的。此外,使用由程序员完成内存管理的 C 和 C++ 等语言,它将让学生很好地掌握这个主题,在 C# 和 Java 等语言中,这是由运行时处理的。

【讨论】:

  • 很公平!有没有可以在 SW Engg 中实现这些 C++ 链接列表的示例场景?
  • @TalhaIrfan 实现像链表这样的数据结构主要由学生完成,用于学习目的。一个专业的程序员,在极少数情况下会从零开始实现这样的数据结构。例如,在 C++ 中,有一个 STL 库可以为您提供所有基本数据结构。
【解决方案2】:

你不是在比较苹果和苹果。在 C++ 中应该与 C# 的 LinkedList 类进行比较的数据结构是 std::list 容器。这两种数据结构同样容易掌握,因为它们都表示具有相似属性的容器。

同样,也可以在 C# 中实现自己的链表,在这种情况下,在 C++ 中实现链表几乎同样困难。事实上,对于学习 C# 的学生来说,这似乎是一项相对常见的作业。唯一的区别在于自动管理资源。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-10
    • 2015-07-11
    • 2012-06-25
    • 1970-01-01
    相关资源
    最近更新 更多