21xrx.com
2024-11-22 09:51:50 Friday
登录
文章检索 我的文章 写文章
C++实现交换两个字符串的方法
2023-07-04 20:30:58 深夜i     --     --
C++ 交换 字符串 实现 方法

在C++中,实现交换两个字符串的方法可以使用以下几种方法。

方法一:使用标准库函数

C++标准库提供了一个名为swap的函数,可以用于交换两个值。使用这个函数,可以轻松地交换两个字符串。代码如下:


#include <iostream>

#include <string>

using namespace std;

int main()

{

  string str1 = "hello";

  string str2 = "world";

  cout << "Before swap: " << "str1 = " << str1 << ", str2 = " << str2 << endl;

  swap(str1, str2);

  cout << "After swap: " << "str1 = " << str1 << ", str2 = " << str2 << endl;

  return 0;

}

输出结果:


Before swap: str1 = hello, str2 = world

After swap: str1 = world, str2 = hello

方法二:使用指针

在C++中,字符串是使用字符数组来表示的。因此,使用指针在两个字符数组之间交换字符串也是一种常用的方法。代码如下:


#include <iostream>

using namespace std;

void swapStrings(char* str1, char* str2) {

  char* temp = str1;

  str1 = str2;

  str2 = temp;

}

int main()

{

  char str1[] = "hello";

  char str2[] = "world";

  cout << "Before swap: " << "str1 = " << str1 << ", str2 = " << str2 << endl;

  swapStrings(str1, str2);

  cout << "After swap: " << "str1 = " << str1 << ", str2 = " << str2 << endl;

  return 0;

}

输出结果:


Before swap: str1 = hello, str2 = world

After swap: str1 = hello, str2 = world

需要注意的是,使用指针交换字符串时,必须将指针传递给一个函数,否则无法实现交换。

方法三:使用STL容器

在C++中,STL容器也提供了一些方法来交换字符串。例如,使用vector容器可以将两个vector容器中的元素交换,代码如下:


#include <iostream>

#include <vector>

using namespace std;

int main()

{

  vector<string> vec1 = {"hello", "world"};

  vector<string> vec2 = {"goodbye", "universe"};

  cout << "Before swap: vec1 = ";

  for (auto i : vec1) {

    cout << i << " ";

  }

  cout << ", vec2 = ";

  for (auto i : vec2) {

    cout << i << " ";

  }

  cout << endl;

  vec1.swap(vec2);

  cout << "After swap: vec1 = ";

  for (auto i : vec1) {

    cout << i << " ";

  }

  cout << ", vec2 = ";

  for (auto i : vec2) {

    cout << i << " ";

  }

  cout << endl;

  return 0;

}

输出结果:


Before swap: vec1 = hello world, vec2 = goodbye universe

After swap: vec1 = goodbye universe, vec2 = hello world

本文介绍了C++中三种常用的交换字符串的方法,分别是使用标准库函数、使用指针和使用STL容器。使用哪种方法取决于具体需求,但是需要注意不同方法的使用场景。

  
  
下一篇: C++标准库

评论区

{{item['qq_nickname']}}
()
回复
回复