91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

c語言怎么實現循環右移

小億
289
2024-03-18 09:25:49
欄目: 編程語言

要實現循環右移,可以利用位運算和取余來完成。下面是一個示例代碼:

#include <stdio.h>

void rightRotate(int *arr, int n, int k) {
    k = k % n;
    
    for(int i = 0; i < k; i++) {
        int temp = arr[n-1];
        
        for(int j = n-1; j > 0; j--) {
            arr[j] = arr[j-1];
        }
        
        arr[0] = temp;
    }
}

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

在這個示例中,我們定義了一個rightRotate函數,它接受一個整型數組arr、數組長度n和右移位數k作為參數。首先對k取余確保kn的范圍內,然后循環執行右移操作。在右移過程中,我們先保存最后一個元素的值,然后依次將前面的元素向后移動一位,最后將保存的值放到第一個位置。最后在main函數中調用rightRotate函數并打印結果。

0
新泰市| 仁布县| 温泉县| 衡东县| 沈阳市| 东乌珠穆沁旗| 利川市| 凌云县| 长汀县| 古丈县| 延吉市| 深州市| 越西县| 丹东市| 云梦县| 聂拉木县| 彰武县| 耒阳市| 临西县| 呼玛县| 海盐县| 江门市| 沂源县| 淮南市| 枣强县| 科技| 尼玛县| 黄平县| 云浮市| 缙云县| 舒城县| 西吉县| 文安县| 龙门县| 临江市| 托克逊县| 大关县| 原阳县| 侯马市| 连州市| 山丹县|