Пример #1
0
 public BubbleSortTest()
 {
     Console.WriteLine("--------------BubbleSort-------------");
     nums = CArray.InitArray();
     Console.Write("before: ");
     nums.DisplayElements();
     BubbleSort();
     Console.WriteLine("-------------------------------------");
 }
Пример #2
0
        private void InsertionSort()
        {
            int inner, temp;

            for (int outer = 1; outer <= nums.Upper; outer++)
            {
                temp  = nums.Arr[outer];
                inner = outer;
                while (inner > 0 && nums.Arr[inner - 1] >= temp)
                {
                    nums.Arr[inner] = nums.Arr[inner - 1];
                    inner          -= 1;
                }
                nums.Arr[inner] = temp;
                nums.DisplayElements();
            }
        }
Пример #3
0
        /// <summary>
        /// 较小的值浮动到左侧 较大的值浮动到右侧
        /// 多次遍历数组 比较相邻的值 如果左侧的数值大于右侧数值就进行交换
        /// </summary>
        public void BubbleSort()
        {
            int temp;

            for (int outer = nums.Upper; outer >= 1; outer--)
            {
                for (int inner = 0; inner <= outer - 1; inner++)
                {
                    if ((int)nums.Arr[inner] > nums.Arr[inner + 1])
                    {
                        temp                = nums.Arr[inner];
                        nums.Arr[inner]     = nums.Arr[inner + 1];
                        nums.Arr[inner + 1] = temp;
                    }
                }
                nums.DisplayElements();
            }
        }
Пример #4
0
        /// <summary>
        /// 从起始开始将第一个元素与数组中的其他元素进行比较 将最小的元素放在第0个位置、
        /// 再从第一个位置开始再次进行排序操作
        /// </summary>
        private void SelectionSort()
        {
            int min, temp;

            for (int outer = 0; outer <= nums.Upper; outer++)
            {
                min = outer;
                for (int inner = outer + 1; inner <= nums.Upper; inner++)
                {
                    if (nums.Arr[inner] < nums.Arr[min])
                    {
                        min = inner;
                    }
                }
                temp            = nums.Arr[outer];
                nums.Arr[outer] = nums.Arr[min];
                nums.Arr[min]   = temp;
                nums.DisplayElements();
            }
        }