Вопрос

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

Это было полезно?

Решение

Если вы не застряли с .NET 1.1, используйте List<T> вместо ArrayList. Но что вас в основном беспокоит? Предположим, у вас нет Списка, на который можно сослаться - для чего вам нужна соответствующая структура данных?

Другие советы

Вы должны быть в состоянии ответить на этот вопрос самостоятельно. Какая стратегия реализации используется в списках STL? Что такое ArrayList? Аналогично, что представляет собой абстрактный API, представленный списком STL (с точки зрения предоставленных операций)? Сравните это со списком STL: что одно дает, а другое нет?

если в списке STL используются шаблоны, вы можете посмотреть общий класс List в System.Collections.Generic.

Хм, C ++ STL не имеет структуры с именем " List " ;. Я думаю, что есть & Quot; list & Quot ;, который является связанным списком. Список C #, напротив, аналогичен вектору 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]);

И да, оба они являются хорошими заменителями. Вам следует использовать общий список, поскольку он безопасен и потенциально быстрее.

Спасибо всем

вопрос, я опечатал и имел ввиду список вместо списка ...

назначение состоит в том, чтобы использовать std :: list для добавления полиномов, используя список простых структур, структуру, которая будет содержать коэффициент и степень x ... достаточно легко, я знаю, но так как класс предположительно является языковым независимо от того, я хотел попробовать использовать c #

Ближайшим аналогом C # списка std :: list является System.Collections.List. Оба являются общими коллекциями и реализуют стандартные действия типа списка.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top