数组元素循环左(右)移K位...
int size = strlen(a) - 1;
reverse(a, 0, size - k);
reverse(a, size - k +1, size);
reverse(a, 0, size);
}
void shiftLeft(char *a, int k)
{
assert(a != NULL);
int size = strlen(a) - 1;
reverse(a, 0, k);
reverse(a, k + 1, size);
reverse(a, 0, size);
}
int main(int argc, char *argv[])
{
char a[] = {"0123456789"};
int k;
cin >> k;
cout << "source string is: " << a << endl;
shiftRight(a, k);
cout << "shift right: " << k << "bit result: " << a << endl;
shiftLeft(a, k);
cout << "shift left: " << k << "bit result: " << a << endl;
system("PAUSE");
return EXIT_SUCCESS;
}
<编程珠玑>