dddd
1
int
vec_rotate(
char
*vec,
int
rotdist,
int
length) {
2
int
i,j,k,times;
3
char
t;
4
times =
gcd(rotdist,length);
5
printf(
"
%d\n
"
,times);
6
for
(i=
0
;i<times;i++
) {
7
t =
vec[i];
8
j =
i;
9
while
(
1
) {
10
k = j+
rotdist;
11
if
(k>=
length)
12
k-=
length;
13
if
(k==
i)
14
break
;
15
vec[j] =
vec[k];
16
j =
k;
17
}
18
vec[j]=
t;
19
}
20
return
0
;
21
}
22
23
向量左旋算法1:
"
杂技
"
代码
eee

