Я изучаю программную инженерию высшего уровня в классе структур данных и алгоритмов. Наш профессор хочет, чтобы мы написали программу, используя структуру списка, найденную в C++ STL. Я все больше и больше пытался использовать C#, и мне было интересно, является ли структура ArrayList в .NET хорошей заменой реализации STL List.





Вы должны сами ответить на этот вопрос. Какая стратегия реализации используется в списках STL? Что такое ArrayList? Точно так же, что представляет собой абстрактный API, представленный списком STL (с точки зрения предоставляемых операций)? Сравните это со списком STL: что дает один, а другой нет?
если список STL использует шаблоны, вы можете посмотреть на общий класс List в System.Collections.Generic.
Если вы не застряли в .NET 1.1, используйте List<T> вместо ArrayList. Но что вас беспокоит? Предположим, у вас нет 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]);
И да, оба они хорошие заменители. Однако вам следует использовать общий список, поскольку он безопасен по типу и потенциально быстрее.
Гм, C++ STL не имеет структуры под названием «Список». Я думаю, что есть «список», который представляет собой связанный список. Список C#, напротив, аналогичен вектору C++.
Ближайшим аналогом std :: list в C# является System.Collections.List. Оба являются общими коллекциями и реализуют стандартные действия типа списка.
std::list - это связанный список. Таким образом, гораздо более близкой эквивалентной коллекцией будет System.Collections.LinkedList<T>.
Спасибо всем
quertie, я ошибся и имел в виду список вместо списка ...
назначение состоит в том, чтобы использовать std :: list для добавления многочленов с использованием списка простых структур, структуры, которая будет содержать коэффициент и мощность x ... достаточно просто, я знаю, но поскольку класс предположительно не зависит от языка, Я хотел попробовать использовать C#
Ага, опечатка, означает std :: list <T>