字符串反转
例如 char string[ ] = " i love c" 反转后 输出“c love i”
算法思想:
第一步:全反转 “i love c” > “ c evol i”
第二步:局部反转(单词内部全反转)
编程语言:C
编译环境 :GCC
实现代码:
例如 char string[ ] = " i love c" 反转后 输出“c love i”
算法思想:
第一步:全反转 “i love c” > “ c evol i”
第二步:局部反转(单词内部全反转)
编程语言:C
编译环境 :GCC
实现代码:
void string_reverse( char* string)
{
int len = 0;
int i = 0;
int j = 0;
char temp = 0;
int begin = 0;
int end = 0;
/* while(*string != '\0')
{
string++;
len++;
}
for(i=0; i<len; i++)
{
string--;;
}
*/
while(string[len++] != '\0');
i =0;
j = len-2;
while(j > i)
{
temp = string[i];
string[i] = string[j];
string[j] = temp;
i++;
j--;
}
i = 0;
while(string[i] != '\0')
{
if(string[i] != ' ')
{
begin = i;
while( (string[i] != ' ') && (string[i] !='\0') )
{
i++;
}
i = i-1;
end = i;
}
while(end > begin)
{
temp = string[begin];
string[begin] = string[end];
string[end] = temp;
begin++;
end--;
}
i++;
}
// free(temp);
}