Question

Je suis actuellement étudiant supérieur en génie logiciel dans un cours sur les structures de données et les algorithmes. Notre professeur veut que nous écrivions un programme en utilisant la structure List trouvée dans la STL C ++. J'essayais de plus en plus d'utiliser C # et je me demandais si la structure ArrayList dans .NET pouvait remplacer de manière efficace l'implémentation de la liste STL.

Était-ce utile?

La solution

Sauf si vous êtes bloqué avec .NET 1.1, utilisez List<T> au lieu de ArrayList. Mais de quoi êtes-vous fondamentalement préoccupé? Supposons que vous ne disposiez pas de liste à référencer - de quoi avez-vous besoin de la structure de données appropriée?

Autres conseils

Vous devriez pouvoir répondre vous-même à cette question. Quelle est la stratégie de mise en œuvre utilisée dans les listes STL? Quel est celui de ArrayList? De même, quelle est l’API abstraite présentée par la liste STL (en termes d’opérations fournies)? Comparez cela à la liste STL: qu'est-ce que l'un fournit que l'autre ne le fait pas?

Si la liste STL utilise des modèles, vous voudrez peut-être consulter la classe List générique dans System.Collections.Generic.

Euh, C ++ STL n'a pas de structure appelée & "List &"; Je pense qu'il existe une & "Liste &"; Qui est une liste chaînée. La liste de C #, au contraire, est analogue au vecteur de C ++.

La classe ArrayList est quelque peu obsolète. C’est à partir des moments .NET 1.0 que les génériques n’existaient pas encore.

Vous devez plutôt utiliser System.Collections.Generic.List. Comme ceci:

List<int> myList = new List<int>();
myList.Add(1);
myList.Add(2);
System.Console.WriteLine(myList[0]);

Et oui, les deux sont de bons substituts. Vous devez cependant utiliser la liste générique, car elle est sécurisée et potentiellement plus rapide.

Merci à tous

quertie, je me suis trompé et je voulais dire liste au lieu de liste ...

L’affectation consiste à utiliser std :: list pour ajouter des polynômes à l’aide d’une liste de structures simples, structure qui contiendrait le coefficient et la puissance de x ... assez facile, je le sais, mais puisque la classe est supposée être un langage -indépendant, je voulais essayer d'utiliser c #

L'analogue C # le plus proche de std :: list est System.Collections.List. Les deux sont des collections génériques et implémentent les actions standard de type liste.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top