C#我必须将此数组向右旋转,但是我不确定如何做

时间:2019-10-27 15:02:47

标签: c# arrays

我必须旋转我估算了n个位置的数组(我也选择了那个数组),我做到了……但是我搞砸了一些东西,我不确定如何解决。如果您在网上看到了一些代码,对不起,我不是那么擅长,所以我用google来帮助自己。

结果应如下所示:

-输入: 15 5 8 19 9 10

n:4

-输出: 8 19 9 10 15 5

-输入: 11 4 12 17 18 7 8 16

n:2

-输出: 8 16 11 4 12 17 18 7

    public static class Homework
    {





        static void RightRotate(int[] arr, int d,int n)
        {
            for (int i = 0; i < d; i++)
                RightRotatebyOne(arr, n);

        }

        static void RightRotatebyOne(int[] arr, int n)
        {
            int i, temp = arr[0];
            for (i = 0; i < n - 1; i++)
                arr[i] = arr[i + 1];

            arr[i] = temp;
        }


        static void printArray(int[] arr, int size)
        {
            for (int i = 0; i < size; i++)
                Console.Write(arr[i] + " ");
        }





        static void Main(string[] args)
        {


            var arr = Console.ReadLine().Split().Select(int.Parse).ToArray();
            int a = arr.Length;
            int n =  Convert.ToInt32(Console.ReadLine());


            RightRotate(arr, n, a);
            printArray(arr, a);

        }
    }
}

编辑:我不知道它是否相同。我只是不知道该怎么做。

0 个答案:

没有答案