国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > C > 正文

數(shù)組循環(huán)移位操作實(shí)例

2020-01-26 15:51:31
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
題:
如標(biāo)題,要求時(shí)間復(fù)雜度為O(N)。

解法:
右移k位,前k位逆序,后N-k位逆序,再整個(gè)逆序即可。
復(fù)制代碼 代碼如下:

#include <stdio.h>  
#include <stdlib.h>  

void reverse(int* array, int b, int e)  
{  
    int temp = 0;  
    for(; b < e; b++,e--)  
    {  
        temp = array[e];  
        array[e] = array[b];  
        array[b] = temp;  
    }  
    return;  
}  

void rightShift(int* array, int n, int k)  
{  
    k = k % n;  
    reverse(array, 0, n - k - 1);  
    reverse(array, n - k, n - 1);  
    reverse(array, 0, n - 1);  
    return;  
}  

int main()  
{  
    int array[] = {6,7,8,9,1,2,3,4};  
    int i = 0;  
    rightShift(array, 8, 4);  
    for (; i < 8; i++)  
    {  
        printf("%d/n", array[i]);  
    }  
    return 0;  
}
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 常山县| 遵义县| 陕西省| 海阳市| 南丹县| 岳普湖县| 甘泉县| 轮台县| 自治县| 靖安县| 通榆县| 永州市| 泸西县| 云霄县| 十堰市| 织金县| 布尔津县| 和平区| 万荣县| 乌兰浩特市| 泊头市| 米林县| 定安县| 辽宁省| 康定县| 淮南市| 镇安县| 三门峡市| 汉沽区| 清流县| 大冶市| 临朐县| 永修县| 唐河县| 汝阳县| 三台县| 冷水江市| 横山县| 文昌市| 闸北区| 留坝县|