填充和排序数组[重复]

问题描述 投票:0回答:1

基本上我需要做的是创建一个数组,让用户填充数组,然后我只是对数组进行冒泡排序。我有基本的想法,我正在尝试写的问题是我继续运行程序然后一旦我输入10值我得到错误消息“索引外界的数组”。我已经玩了一些代码,似乎无法破解这个问题。我还是新手,所以请耐心等待我。

class Program
{
    public static void Main(string[] args)
    {
        Console.Write("\n\n");
        Console.Write("Input 10 or less values then hit enter to sort values");
        Console.Write("\n\n");

        int[] Arr = new int[10];

        for ( int i = 0; i <= 10; i++)
        {
            Console.Write("Input Value\n");
            Arr[i] = int.Parse(Console.ReadLine());


        }

        for (int i = 0; i <= 10; i++)
        {
            for (int j = Arr.Length - 1; j > i; j--)
            {
                if (Arr[j] < Arr[j - 1])
                {
                    var temp = Arr[j];
                    Arr[j] = Arr[j - 1];
                    Arr[j - 1] = temp;
                }
            }
        }

        foreach (int i in Arr)
        {
            Console.WriteLine(i);
        }

        Console.Read();



    }
}

}

c# arrays bubble-sort
1个回答
1
投票

for ( int i = 0; i <= 10; i++)替换for ( int i = 0; i < 10; i++)

否则,索引从0到10,即11个值。

更好的是,使用数组.Length属性

for ( int i = 0; i < arr.Length; i++)
{
    // Do things with arr[i]
}
© www.soinside.com 2019 - 2024. All rights reserved.