无法使用bubblesort对十进制数组进行排序。 C#

时间:2016-04-21 02:28:05

标签: c#

public void BubbleSortArray( int[] numbers )
{
    bool swap;
    int temp;

    do
    {
        swap = false;

        for(int index = 0; index < (numbers.Length - 1); index++)
        {
            if(numbers[index] > numbers[index+1]) //if first number is greater then second then swap
            {
                //swap

                temp = numbers[index];
                numbers[index] = numbers[index + 1];
                numbers[index + 1] = temp;
                swap = true;
            }
        }

    } while (swap == true);
}

好吧所以我已经让我的冒泡排序与int数字一起使用但是如何让这段代码与小数一起使用,任何帮助都将不胜感激

1 个答案:

答案 0 :(得分:0)

您是否应该只需将int[]输入更改为decimal[]输入?

public void BubbleSortArray( decimal[] numbers ) //change here
{
    bool swap;
    decimal temp; //change this too

    do
    {
        swap = false;

        for(int index = 0; index < (numbers.Length - 1); index++)
        {
            if(numbers[index] > numbers[index+1]) //if first number is greater then second then swap
            {
                //swap

                temp = numbers[index];
                numbers[index] = numbers[index + 1];
                numbers[index + 1] = temp;
                swap = true;
            }
        }

    } while (swap == true);
}

此外,C#支持方法重载。因此,两个方法(带有int[]参数的方法和带有decimal[]参数的方法)可以并存。

public void BubbleSortArray( int[] numbers ){
    ....
}

public void BubbleSortArray( decimal[] numbers ){
    ....
}