Exemple #1
0
        static void Main(string[] args)
        {
            var exitRequested = false;

            while (!exitRequested)
            {
                Console.Clear();
                Console.WriteLine("Enter number to shuffle");

                var input = Console.ReadLine();

                if (!int.TryParse(input, out var parsedValue) || parsedValue <= 0)
                {
                    Console.WriteLine("Value should be positive integer number");
                }
                else
                {
                    foreach (var value in NumbersShuffle.GetShuffled(parsedValue))
                    {
                        Console.WriteLine(value);
                    }
                }

                Console.WriteLine("Would you like to shuffle again? (y/n)");
                var reply = Console.ReadKey();

                exitRequested = !(reply.KeyChar == 'y' || reply.KeyChar == 'Y' || reply.Key == ConsoleKey.Enter);
            }

            // RunNaiveTest(10000, 100);
            // RunBucketsTest(10000, 100);

            Console.ReadKey();
        }
Exemple #2
0
        private static void RunBucketsTest(int targetNumber, int numberOfIterations)
        {
            //warmup
            _ = NumbersShuffle.GetShuffledWithBucketing(targetNumber).ToList();

            var stopWatch = new Stopwatch();

            stopWatch.Start();

            for (var i = 0; i < numberOfIterations; i++)
            {
                _ = NumbersShuffle.GetShuffledWithBucketing(targetNumber).ToList();
            }

            stopWatch.Stop();

            Console.WriteLine($"Bucketed elapsed: {stopWatch.Elapsed}");
        }