国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表

圖片精選

主站蜘蛛池模板: 五寨县| 光泽县| 曲周县| 金溪县| 即墨市| 长白| 安龙县| 金秀| 长子县| 四川省| 札达县| 荆州市| 灌云县| 七台河市| 宜都市| 新河县| 黑水县| 太仆寺旗| 高清| 黎平县| 双城市| 花莲市| 济宁市| 屯门区| 高雄市| 兴海县| 闻喜县| 兴安盟| 德惠市| 库伦旗| 剑阁县| 贡觉县| 肥西县| 嘉禾县| 侯马市| 琼海市| 原阳县| 汉寿县| 桐庐县| 遂平县| 永川市|