陣列旋轉的 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+ 瀏覽

開啟你的職業

修完課程,獲得認證

開始
廣告
© . All rights reserved.