相关疑难解决方法(0)

使用Juggling算法旋转数组

我最近了解了当我在Programming Pearls书中阅读解决方案时,Juggling算法如何在线性时间内旋转数组.

解决它的代码如下:

/*Function to left rotate arr[] of siz n by d*/
void leftRotate(int arr[], int d, int n)
{
  int i, j, k, temp;
  for (i = 0; i < gcd(d, n); i++)
  {
    /* move i-th values of blocks */
    temp = arr[i];
    j = i;
    while(1)
    {
      k = j + d;
      if (k >= n)
        k = k - n;
      if (k == i)
        break;
      arr[j] = arr[k];
      j = k;
    }
    arr[j] …
Run Code Online (Sandbox Code Playgroud)

arrays algorithm

35
推荐指数
3
解决办法
1万
查看次数

标签 统计

algorithm ×1

arrays ×1