propiedades pilas net listas dequeue colas clase c#

c# - pilas - Cómo convertir/convertir Lista de objetos en cola de objetos



queue dequeue (4)

¿Cómo convertir una lista de objetos a una cola manteniendo el mismo orden?


¿Qué quiere decir con "el mismo orden"?

Si haces esto:

var queue = new Queue<object>(list);

Luego, la cola se enumerará en el mismo orden que la lista, lo que significa que una llamada a Dequeue devolverá el elemento que anteriormente había residido en la list[0] .

Si haces esto:

var queue = new Queue<object>(list.AsEnumerable().Reverse());

Luego, la cola se enumerará en el orden opuesto a la lista, lo que significa que una llamada a Dequeue devolverá el elemento que anteriormente había residido en la list[list.Count - 1] .


Queue tiene un constructor que lleva en una ICollection . Puede pasar su lista a la cola para inicializarla con los mismos elementos:

var queue = new Queue<T>(list); // where ''T'' is the lists data type.


var mylist = new List<int> {1,2,3}; var q = new Queue<int>(mylist);


var q = new Queue<Object>(); for( int i = 0; i < list.Count; i++ ) q.Enqueue( list[i] );

Es decir, suponiendo que "el mismo orden" significa que el primer elemento que se debe sacar de la cola debe estar en la lista [0].

Si significa lo contrario, simplemente use el ciclo inverso: for( int i = list.Count-1; i >= 0; i-- )