See More

#include #include using namespace std; void Reverse(char *start, char *end) { assert(start); assert(end); while (start < end) { char tmp = *start; *start = *end; *end = tmp; start++; end--; } } void LeftRotate(char *str,int n)//½«×Ö·û´®str×óÐýnλ { assert(str); int len = strlen(str); if (len > 0 && len >= n && n >= 0) { char *FirstStart = str; char *FirstEnd = str + n - 1; char *SecondStart = str + n; char *SecondEnd = str + len - 1; Reverse(FirstStart, FirstEnd); Reverse(SecondStart, SecondEnd); Reverse(FirstStart, SecondEnd); } } int main() { char str[] = "abcdefgh"; LeftRotate(str, 3); cout << str << endl; system("pause"); return 0; }