首页 > 编程语言 > 详细

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

时间:2020-06-20 21:25:40      阅读:132      评论:0      收藏:0      [点我收藏+]

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);

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

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!