C++反转字符串的三种方法

1.定义反转字符串

void changeOrder1(char* data)
{
  if (data == NULL)
  {
    return;
  }

  auto nLen = strlen(data);
  char *p1 = data;
  char* p2 = p1 + (nLen - 1);
  while (p1 < p2)
  {
    char c = *p1;
    *p1 = *p2;
    *p2 = c;
    ++p1;
    --p2;
  }
}

void changeOrder2(char* data)
{
  auto nLen = strlen(data);
  if (nLen <= 1)
  {
    return;
  }
  auto nMid = nLen / 2;
  auto nStart = 0;
  while (nStart < nMid)
  {
    std::swap(data[nStart], data[nLen - nStart - 1]);
    ++nStart;
  }
}

void changeOrder3(char* data)
{
  auto nLen = strlen(data);
  std::reverse(data, data + nLen);
}

2.测试如下:

char s[] = "hello world"

changeOrder3(s);

原文链接: https://www.cnblogs.com/kinglxg/p/13170259.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    C++反转字符串的三种方法

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/357228

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年3月2日 上午11:39
下一篇 2023年3月2日 上午11:39

相关推荐