private int TshirtDescendingPartition(List <Tshirt> tshirts, int low, int high)
        {
            Tshirt temp;
            int    j     = low;
            Tshirt pivot = tshirts[high];

            for (int i = low; i < high; i++)
            {
                if (tshirts[i].Size > pivot.Size)
                {
                    temp       = tshirts[j];
                    tshirts[j] = tshirts[i];
                    tshirts[i] = temp;
                    j++;
                }
                else if (tshirts[i].Size == pivot.Size)
                {
                    if (tshirts[i].Color > pivot.Color)
                    {
                        temp       = tshirts[j];
                        tshirts[j] = tshirts[i];
                        tshirts[i] = temp;
                        j++;
                    }
                    else if (tshirts[i].Color == pivot.Color)
                    {
                        if (tshirts[i].Fabric > pivot.Fabric)
                        {
                            temp       = tshirts[j];
                            tshirts[j] = tshirts[i];
                            tshirts[i] = temp;
                            j++;
                        }
                    }
                }
            }
            temp          = tshirts[j];
            tshirts[j]    = tshirts[high];
            tshirts[high] = temp;
            return(j);
        }
        public static void SortProgram()
        {
            List <Tshirt> tshirts = Tshirt.GetTshirts(5000);


            ISortStrategy strategy = new QuickSortStrategy();
            string        answer;
            uint          amount;

            Console.WriteLine("Choose an option\nDefault sorting method is quicksort\nDefault Tshirt list has 5000 entries\n");
            do
            {
                Console.WriteLine("1)Compare Sorts in miliseconds\n" +
                                  "2)Pick a sorting Algorithm\n" +
                                  "3)Sort with method\n" +
                                  "4)Print tshirt list\n" +
                                  "5)Create new Tshirt list\n" +
                                  "0)Exit\n");
                answer = Console.ReadLine();
                switch (answer)
                {
                case "1":
                    CompareSorts(tshirts);
                    break;

                case "2":
                    do
                    {
                        Console.WriteLine("\nPick a sorting method\n" +
                                          "1)Quicksort\n" +
                                          "2)Bubblesort\n" +
                                          "3)Bucketsort\n" +
                                          "0)Back\n");
                        answer = Console.ReadLine();
                        switch (answer)
                        {
                        case "1":
                            strategy = new QuickSortStrategy();
                            Console.WriteLine("Quicksort selected\n");
                            break;

                        case "2":
                            strategy = new BubbleSortStrategy();
                            Console.WriteLine("Bubblesort selected\n");
                            break;

                        case "3":
                            strategy = new BucketSortStrategy();
                            Console.WriteLine("Bucketsort selected\n");
                            break;
                        }
                    } while (answer != "0" && answer != "3" && answer != "2" && answer != "1");
                    answer = "";
                    break;

                case "3":
                    do
                    {
                        Console.WriteLine("\nPick one\n" +
                                          "1)Size Ascending\n" +
                                          "2)Size Descending\n" +
                                          "3)Color Ascending\n" +
                                          "4)Color Descending\n" +
                                          "5)Fabric Ascending\n" +
                                          "6)Fabric Descending\n" +
                                          "7)Size-Color-Fabric Ascending\n" +
                                          "8)Size-Color-Fabric Descending\n" +
                                          "9)Print Tshirt List\n" +
                                          "0)Back\n");
                        answer = Console.ReadLine();
                        switch (answer)
                        {
                        case "1":
                            strategy.SortSizeAscending(tshirts);
                            break;

                        case "2":
                            strategy.SortSizeDescending(tshirts);
                            break;

                        case "3":
                            strategy.SortColorAscending(tshirts);
                            break;

                        case "4":
                            strategy.SortColorDescending(tshirts);
                            break;

                        case "5":
                            strategy.SortFabricAscending(tshirts);
                            break;

                        case "6":
                            strategy.SortFabricDescending(tshirts);
                            break;

                        case "7":
                            strategy.SortTshirtAscending(tshirts);
                            break;

                        case "8":
                            strategy.SortTshirtDescending(tshirts);
                            break;

                        case "9":
                            PrintList(tshirts);
                            break;
                        }
                    } while (answer != "0");
                    answer = "";
                    break;

                case "4":
                    PrintList(tshirts);
                    break;

                case "5":
                    Console.WriteLine("Gimme the ammount of Tshirts you want in the list");
                    do
                    {
                        answer = Console.ReadLine();
                    } while (!uint.TryParse(answer, out amount));
                    tshirts = Tshirt.GetTshirts((int)amount);
                    break;
                }
            } while (answer != "0");
        }