Trick(三)——循环左移的实现

来源:互联网 发布:vocaloid软件是什么 编辑:程序博客网 时间:2024/06/04 23:36

循环左移(ROL,Ring Shift Left)可用于字符串的旋转当中。

abcdef ⇒ defabc

可看做整个字符串循环左移三位;

// 循环左移1位,作为左移 k 位的辅助函数// n 标识字符串的长度void ROL1(char* s, int n){    char t = s[0];    for (int i = 1; i < n; ++i)        s[i-1] = s[i];    s[n-1] = t;}// 循环左移 k 位void ROLK(char* s, int n, int k){    while (k--)        ROL1(s, n);}
0 0
原创粉丝点击