我是一名高级软件工程专业的学生,目前正在学习数据结构和算法课程。我们的教授希望我们使用 C++ STL 中的 List 结构编写程序。我一直在尝试越来越多地使用 C#,并且想知道 .NET 中的 ArrayList 结构是否可以很好地替代 STL List 实现。
7 回答
除非您坚持使用 .NET 1.1,否则请使用List<T>
而不是ArrayList
. 但你最关心的是什么?假设您没有要引用的 List - 您需要适当的数据结构来做什么?
你应该能够自己回答这个问题。STL 列表中使用的实施策略是什么?ArrayList 是什么?同样,STL 列表提供的抽象 API 是什么(就提供的操作而言)?将此与 STL 列表进行比较:一个提供了另一个没有提供的内容?
如果 STL List 使用模板,您可能需要查看 System.Collections.Generic 中的通用 List 类。
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]);
是的,它们都是很好的替代品。不过,您应该使用通用 List,因为它是类型安全的并且可能更快。
嗯,C++ STL 没有名为“List”的结构。我认为有一个“列表”,它是一个链表。相比之下,C# 的 List 类似于 C++ 的向量。
谢谢大家
quertie,我打错了,意思是列表而不是列表...
任务是使用 std::list 使用简单结构列表添加多项式,该结构将保存系数和 x 的幂......我知道,这很容易,但由于该类据说与语言无关,我想尝试使用 c#
与 std::list 最接近的 C# 类似物是 System.Collections.List。两者都是通用集合,并实现标准列表类型的操作。