1  1 int vec_rotate(char *vec,int rotdist, int length) {
 2  2 int i,j,k,times;
 3  3 char t;
 4  4 times = gcd(rotdist,length);
 5  5  printf("%d\n",times);
 6  6 for(i=0;i<times;i++) {
 7  7  t = vec[i];
 8  8   j = i;
 9  9    while(1) {
10 10  k = j+ rotdist;
11 11  if(k>=length)
12 12   k-=length;
13 13  if(k==i)
14 14 break;
15 15  vec[j] = vec[k];
16 16 j = k;
17 17 }
18 18  vec[j]=t;
19 19     }
20 20     return 0;
21 21 }
View Code

 

posted on 2015-01-13 12:38  小黄驴  阅读(104)  评论(0)    收藏  举报