Ejemplo n.º 1
0
        public RectangleF GetPosRect(int pos)
        {
            float x = pos * UnitSize.Width;
            float y = drawingArea.Height - arrayToDraw.Get(pos) * UnitSize.Height;
            float w = UnitSize.Width;
            float h = drawingArea.Height - y;

            return(new RectangleF(x, y, w, h));
        }
Ejemplo n.º 2
0
        static void MergeSortRecursion(SortingArray array, int[] temp, int left, int right)
        {
            if (left < right)
            {
                int len = right - left + 1;
                int mid = left + len / 2;
                MergeSortRecursion(array, temp, left, mid - 1);
                MergeSortRecursion(array, temp, mid, right);

                int p1 = left;
                int p2 = mid;

                for (int i = 0; i < len; i++)
                {
                    bool first = true;

                    if ((p1 >= mid) | (p2 <= right && array.IsBigger(p1, p2)))
                    {
                        first = false;
                    }

                    if (first)
                    {
                        temp[i] = array.Get(p1);
                        p1++;
                    }
                    else
                    {
                        temp[i] = array.Get(p2);
                        p2++;
                    }
                    Updated(array);
                }

                for (int i = 0; i < len; i++)
                {
                    array.Modify(left + i, temp[i]);
                    Updated(array);
                }
            }
        }
Ejemplo n.º 3
0
        static Color GetDefaultColor(SortingArray array, int pos)
        {
            switch (style)
            {
            case DrawingStyle.Default:
                return(DefaultDefaultColor);

            case DrawingStyle.Rainbow:
                return(RainbowDefaultColor(array.Get(pos), array.Length - 1));

            case DrawingStyle.DistanceBased:
                return(DistanceDefaultColor(array.DistanceToSortedPosition(pos), array.Length));

            case DrawingStyle.Monochrome:
                return(Color.LightSlateGray);

            case DrawingStyle.Custom:
                return(CustomDefaultColor);

            default:
                return(Color.WhiteSmoke);
            }
        }
Ejemplo n.º 4
0
        static Color GetSelectedColor(SortingArray array, int pos)
        {
            switch (style)
            {
            case DrawingStyle.Default:
                return(DefaultSelectedColor);

            case DrawingStyle.Rainbow:
                return(RainbowSelectedColor(array.Get(pos), array.Length - 1));

            case DrawingStyle.DistanceBased:
                return(DistanceSelectedColor(array.DistanceToSortedPosition(pos), array.Length));

            case DrawingStyle.Monochrome:
                return(Color.LightGray);

            case DrawingStyle.Custom:
                return(CustomSelectedColor);

            default:
                return(Color.LightGray);
            }
        }
Ejemplo n.º 5
0
        static Color GetSpecialColor(SortingArray array, int pos)
        {
            switch (style)
            {
            case DrawingStyle.Default:
                return(DefaultSpecialColor);

            case DrawingStyle.Rainbow:
                return(RainbowSpecialColor(array.Get(pos), array.Length - 1));

            case DrawingStyle.DistanceBased:
                return(DistanceSpecialColor());

            case DrawingStyle.Monochrome:
                return(Color.White);

            case DrawingStyle.Custom:
                return(CustomSpecialColor);

            default:
                return(Color.Gray);
            }
        }