1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
using System;
using System.Collections.Generic;
namespace TestMelange
{
class Program
{
const int ARRAY_SIZE = 64;
static void Main(string[] args)
{
List<int> list = new List<int>(ARRAY_SIZE);
for (int i = 0; i < ARRAY_SIZE; i++)
{
list.Add(i);
}
list.Sort(new Melangeur<int>());
Stack<int> stack = Melangeur<int>.ListToStack(list);
while (stack.Count > 0)
{
Console.WriteLine("On tire le numéro {0}", stack.Pop());
}
Console.ReadKey(true);
}
}
class Melangeur<T> : IComparer<T>
{
private static Random rnd;
static Melangeur()
{
rnd = new Random();
}
public int Compare(T obja, T objb)
{
return Melangeur<T>.rnd.Next(-1, 1);
}
public static Stack<T> ListToStack(List<T> list)
{
Stack<T> stack = new Stack<T>(list.Count);
for (int i = 0, cpt = list.Count; i < cpt; i++)
{
stack.Push(list[i]);
}
return stack;
}
}
} |
Partager