void bad_Reverse(char *str) // 效率低的反转字符串函数 适合C风格字符串
{
char * tmp = new char[strlen(str)];
strcpy(tmp, str);
size_t ix = strlen(str) - 1;
for (size_t i = 0; i < strlen(str); i++) {
str[i] = tmp[ix];
ix--;
}
delete[] tmp;
}
void good_Reverse(char *word) // 仿制STL的算法的,适合C风格字符串反转函数
{ // 效率没有 C++ Primer Plus 的高
size_t first, last;
first = 0;
last = strlen(word);
while ((first != last) && (first != --last))
std::swap(word[first++], word[last]);
}
void Reverse(char *word) // 适合C风格字符串反转函数
{ // 来源 C++ Primer Plus 第五章 forstr2.cpp -- reversing an array
char temp;
size_t i, j;
for (j = 0, i = strlen(word) - 1; j < i; --i, ++j) {
temp = word[i];
word[i] = word[j];
word[j] = temp;
}
}
字符串转置
最新推荐文章于 2024-04-02 20:19:29 发布