中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

c語言數組循環右移怎么實現

小億
142
2024-07-26 22:48:12
欄目: 編程語言

要實現c語言數組的循環右移,可以通過以下步驟實現:

  1. 確定右移的位數,假設為n。
  2. 創建一個臨時數組,將原數組的后n個元素復制到臨時數組中。
  3. 將原數組的前面部分向后移動n個位置,空出的位置補0。
  4. 將臨時數組中的元素復制到原數組中。

以下是一個示例代碼:

#include <stdio.h>

void rightRotate(int arr[], int n, int shift) {
    int temp[shift];
    // 將后shift個元素復制到臨時數組中
    for (int i = 0; i < shift; i++) {
        temp[i] = arr[n - shift + i];
    }
    // 將前面的元素向后移動shift個位置
    for (int i = n - 1; i >= shift; i--) {
        arr[i] = arr[i - shift];
    }
    // 將臨時數組中的元素復制到原數組中
    for (int i = 0; i < shift; i++) {
        arr[i] = temp[i];
    }
}

int main() {
    int arr[] = {1, 2, 3, 4, 5};
    int n = sizeof(arr) / sizeof(arr[0]);
    int shift = 2;
    
    rightRotate(arr, n, shift);
    
    for (int i = 0; i < n; i++) {
        printf("%d ", arr[i]);
    }
    
    return 0;
}

以上代碼實現了一個將數組循環右移的功能,并輸出移動后的結果。

0
江西省| 岫岩| 和顺县| 屯昌县| 温泉县| 山阴县| 宁津县| 兴义市| 新龙县| 济源市| 舞钢市| 河南省| 旅游| 嘉禾县| 寿宁县| 洛扎县| 南城县| 德庆县| 博乐市| 沿河| 绍兴市| 重庆市| 永川市| 贵州省| 马龙县| 米易县| 宕昌县| 绥阳县| 永宁县| 金乡县| 弥渡县| 和平县| 图们市| 商都县| 青海省| 洪江市| 九台市| 奎屯市| 张家港市| 东台市| 泸水县|