#include <stdio.h>
void reverse(char arr[], int left, int right)
{
char temp;
while (left < right)
{
temp = arr[left];
arr[left] = arr[right];
arr[right] = temp;
left++;
right--;
}
}
void rotate(char *str, int strSize, int k)
{
k %= strSize;
reverse(str, 0, k - 1);
printf("first reverse: %s\n", str);
reverse(str, k, strSize - 1);
printf("second reverse: %s\n", str);
reverse(str, 0, strSize - 1);
printf("third reverse: %s\n", str);
}
int main()
{
char str[] = "abcdefghijklmnopqrstuvwxyz";
printf("Original string: %s\n", str);
rotate(str, 26, 100);
printf("The rotated string: %s\n", str);
return 0;
}
旋转字符串数组
于 2024-02-05 17:01:11 首次发布