Pergunta

Eu sou um nível superior estudante de Engenharia de Software atualmente em uma Estruturas de Dados e Algoritmos classe. Nosso professor nos quer escrever um programa usando a estrutura da lista encontrada no STL C ++. Eu tenho tentado usar C # mais e mais, e queria saber se a estrutura ArrayList em .NET é um bom substituto para a implementação Lista STL.

Foi útil?

Solução

A menos que você está preso com .NET 1.1, o uso List<T> vez de ArrayList. Mas o que está fundamentalmente em causa cerca de? Suponha que você não tem lista para designar as - o que você precisa a estrutura de dados apropriado para fazer

Outras dicas

Você deve ser capaz de responder a essa pergunta a si mesmo. Qual é a estratégia de implementação usado em listas de STL? O que é a de ArrayList? Da mesma forma, o que é a API resumo apresentado pela lista STL (em termos de operações fornecido)? Compare isto com a lista STL: o que faz a prever que o outro não

Se os modelos de lista STL usos, você pode querer olhar para a classe List genérica em System.Collections.Generic.

Um, STL C ++ não tem uma estrutura chamada "Lista". Acho que há uma "lista", que é uma lista ligada. C # 's List, em contraste, é análogo ao C ++' vector s.

A classe ArrayList é um pouco obsoleto. É a partir do .NET 1.0 vezes quando genéricos não existia ainda.

Você deve usar System.Collections.Generic.List vez. Como esta:

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

E sim, ambos são bons substitutos. Você deve usar a lista de genéricos, porém, uma vez que é tipo seguro e potencialmente mais rápida.

Obrigado a todos

quertie, eu mal digitado e lista em vez de Lista significava ...

a atribuição é usar std :: lista para adicionar polinômios usando uma lista de estruturas simples, uma estrutura que iria realizar o coeficiente eo poder de x ... fácil o suficiente, eu sei, mas desde que a classe é supostamente idioma independente de, eu queria tentar usar c #

O mais próximo C # análogo do std :: lista é System.Collections.List. Ambos são coleções genéricas, e implementar as ações do tipo de lista padrão.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top