3

私は現在、データ構造とアルゴリズムのクラスにいる上位レベルのソフトウェア エンジニアリングの学生です。私たちの教授は、C++ STL にある List 構造を使用してプログラムを作成するように求めています。私は C# をますます使用しようとしており、.NET の ArrayList 構造が STL List 実装の適切な代替物であるかどうか疑問に思っていました。

4

7 に答える 7

5

.NET 1.1 にこだわっていない限り、List<T>代わりに.NET を使用してくださいArrayList。しかし、あなたは根本的に何を心配していますか?参照するリストがなかったとします。適切なデータ構造が必要なのは何ですか?

于 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

みんな、ありがとう

quertie、私はタイプミスして、リストではなくリストを意味しました...

割り当ては、std :: listを使用して、単純な構造体のリストを使用して多項式を追加することです。これは、xの係数と累乗を保持する構造体です...十分に簡単ですが、クラスはおそらく言語に依存しないため、 c#を使ってみたかった

于 2008-11-06T23:47:57.233 に答える
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++ の vector に似ています。

于 2008-11-06T22:48:35.747 に答える
-1

std::list に最も近い C# 版は System.Collections.List です。どちらもジェネリック コレクションであり、標準のリスト型アクションを実装します。

于 2008-11-06T22:48:43.267 に答える