12得票2回答
类似于列表的模式匹配Data.Sequence

我正在使用Data.Sequence代替列表以获得更好的性能。 使用列表,我们可以执行以下操作:foo :: [Int] -> Int foo [] m = m foo (x:xs) m = ... 如何使用 Data.Sequence 完成这个任务。我尝试了以下方法:foo:: S.S...

14得票2回答
Java 部分有序的 Collection<E>

我正在寻找一个Java实现的数据结构,它可以容纳元素的集合并定义了部分排序,并允许按照某些拓扑顺序迭代这些元素(任何可能的顺序都可以;最好是稳定的顺序,因为集合的内容会发生变化)。 理想情况下,它应该实现Collection&lt;E&gt;、Set&lt;E&gt;或SortedSet&l...

26得票6回答
C++中是否有预定义的链表库?

在C ++中是否有我可以直接#include的链表?或者如果我想使用链表,是否需要创建自己的链表?

22得票6回答
C ++错误:void不是指向对象类型的指针

我有一个C++程序: struct arguments { int a, b, c; arguments(): a(3), b(6), c(9) {} }; class test_class{ public: void *member_func(void *arg...

12得票3回答
在Haskell中实现临时多态性的最佳方法是什么?

我有一个多态函数,如下: convert :: (Show a) =&gt; a -&gt; String convert = " [label=" ++ (show a) ++ "]" 但有时我想传递一个Data.Map并进行一些更高级的键值转换。我知道我不能在这里使用模式匹配,因为D...

67得票20回答
面向对象编程中的抽象数据类型是什么?

什么是面向对象编程中的抽象数据类型?我已经查阅了该主题的维基百科,但仍不清楚。能否请有经验的人士进行澄清?

12得票5回答
抽象数据类型与数据类型和数据结构在面向对象编程中的区别

据我了解,数据结构实际上是一个蓝图,其中包含创建最终产品所需的所有信息,并且数据类型是该设计的物理实现或实现(类似于生物学中基因型和表型之间的区别)。 当涉及面向对象编程时,是否可以准确地说,抽象类或接口是数据结构,因为它包含一组值和声明的行为,并且实现该抽象类或接口的类是数据类型,因为它是...

69得票21回答
ADTs (Abstract Data Types)是什么?

我目前正在学习抽象数据类型(ADTs),但是我完全不理解这个概念。能否有人向我解释一下这到底是什么?另外,集合、袋子和列表 ADTs 又是什么?可以用简单的语言解释吗?

15得票5回答
堆被认为是一种抽象数据类型吗?

我正在学习数据结构课程,对于什么是抽象数据类型(ADT)和什么不是(如果不是ADT,则必须是实现)有些困惑。 具体而言,我在谈论堆。 我在维基百科上读到,“堆是一种专门的基于树的数据结构”,这是否意味着它是一个ADT?如果是,那么我就不理解下面这句话,同样来自维基百科,“堆是实现名为优先队...

9得票3回答
实现不同但相似的结构/功能集而不需要复制粘贴

我正在为C语言实现一组常见但不是那么琐碎(或容易出错)的数据结构(这里),并想到了一个让我思考的想法。 简单来说,问题是如何在不必复制/重写算法的情况下实现使用相似算法但具有不同接口的两个结构? 最好的方式是什么,指的是最易于维护和调试的方法。 我认为显而易见的是,您不希望有两份相同算法的...