3

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

4

7 回答 7

5

除非您坚持使用 .NET 1.1,否则请使用List<T>而不是ArrayList. 但你最关心的是什么?假设您没有要引用的 List - 您需要适当的数据结构来做什么?

于 2008-11-06T22:47:54.923 回答
3

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

于 2008-11-06T22:45:49.857 回答
1

如果 STL List 使用模板,您可能需要查看 System.Collections.Generic 中的通用 List 类。

于 2008-11-06T22:46:38.513 回答
0

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,因为它是类型安全的并且可能更快。

于 2008-11-06T22:48:10.787 回答
0

嗯,C++ STL 没有名为“List”的结构。我认为有一个“列表”,它是一个链表。相比之下,C# 的 List 类似于 C++ 的向量。

于 2008-11-06T22:48:35.747 回答
0

谢谢大家

quertie,我打错了,意思是列表而不是列表...

任务是使用 std::list 使用简单结构列表添加多项式,该结构将保存系数和 x 的幂......我知道,这很容易,但由于该类据说与语言无关,我想尝试使用 c#

于 2008-11-06T23:47:57.233 回答
-1

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

于 2008-11-06T22:48:43.267 回答