数组旋转的 C 语言程序?


编写一个 C 程序将数组向左旋转 n 位。如何在 C 语言编程中将数组向左旋转 n 次。在 C 程序中将数组向左旋转 n 位的逻辑。

Input: arr[]=1 2 3 4 5 6 7 8 9 10
N=3
Output: 4 5 6 7 8 9 10 1 2 3

说明

  • 在数组(arr)中读取元素。

  • 在 some 变量(N)中读取旋转次数。

  • 将给定的数组向左旋转 1 位,循环 N 次。真正的左旋转是一次向左移动数组元素,并将第一个元素复制到最后一个元素。

示例

#include <iostream>
using namespace std;
int main() {
   int arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
   int i, N, len, j;
   N=3;
   len=10;
   int temp=0;
   for (i = 0; i < N; i++) {
      int x = arr[0];
      for (j = 0; j < len; j++) {
         temp=arr[j];
         arr[j] = arr[j + 1];
         arr[j+1]=temp;
      }
      arr[len - 1] = x;
   }
   for (i = 0; i < len; i++) {
      cout<< arr[i]<<"\t";
   }
}

更新于: 20-Aug-2019

3K+ 浏览

开启你的职业

修完课程,获得认证

开始
广告