码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2020-06-20 22:30:43      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:change   null   star   tar   hello   auto   reverse   反转字符串   style   

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++反转字符串的三种方法

标签:change   null   star   tar   hello   auto   reverse   反转字符串   style   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!