我是目前处于数据结构和算法类中的高级软件工程专业的学生。我们的教授希望我们使用C ++ STL中的List结构编写程序。我一直在尝试越来越多地使用C#,并且想知道.NET中的ArrayList结构是否是STL List实现的良好替代品。

有帮助吗?

解决方案

除非您遇到.NET 1.1,否则请使用List<T>而不是ArrayList。但是你从根本上关注什么呢?假设您没有要引用的List - 您需要什么样的数据结构?

其他提示

你应该能够自己回答这个问题。 STL列表中使用的实施策略是什么? ArrayList是什么?同样,STL列表提供的抽象API(根据提供的操作)是什么?将此与STL列表进行比较:另一个提供的是什么?

如果STL列表使用模板,您可能希望查看System.Collections.Generic中的通用List类。

Um,C ++ STL没有名为<!> quot; List <!> quot;的结构。我认为有一个<!> quot; list <!>“;这是一个链表。相比之下,C#的List与C ++的向量类似。

ArrayList类有点不推荐使用。当泛型不存在时,它是从.NET 1.0开始的。

您应该使用System.Collections.Generic.List。像这样:

List<int> myList = new List<int>();
myList.Add(1);
myList.Add(2);
System.Console.WriteLine(myList[0]);

是的,他们俩都是很好的替代品。您应该使用通用列表,因为它是类型安全且可能更快。

谢谢大家

quertie,我输错了,而不是列表...

赋值是使用std :: list来添加多项式,使用一个简单的结构列表,一个可以保存系数和x的幂的结构......很简单,我知道,但是因为这个类应该是语言 - 独立,我想尝试使用c#

std :: list最接近的C#类似物是System.Collections.List。两者都是通用集合,并实现标准的列表类型操作。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top