21xrx.com
2025-03-25 00:41:45 Tuesday
文章检索 我的文章 写文章
C++ 字符串转置操作
2023-07-05 11:15:50 深夜i     39     0
C++ 字符串 转置操作

C++中字符串转置操作是非常常见的操作,它通常用于将字符串中的字母或单词的顺序颠倒过来。在C++中,实现字符串转置操作的方式非常简单,可以通过循环、递归或者使用C++标准库中的反转函数来实现。

使用循环实现字符串转置操作:

代码示例:

#include <iostream>
#include <string.h>
using namespace std;
void reverse(string str)
{
  int n = str.length();
  // 循环将字符串中的字符顺序进行颠倒
  for(int i=0;i<n/2;i++)
  {
    swap(str[i],str[n-i-1]);
  }
  cout<< str <<endl;
}
int main()
{
  string str;
  cout<<"请输入字符串:"<<endl;
  cin>>str;
  cout<<"转置后的字符串为:"<<endl;
  reverse(str);
  return 0;
}

使用递归实现字符串转置操作:

代码示例:

#include <iostream>
using namespace std;
void reverse(string &str, int start, int end)
{
  // 在递归过程中,将字符串中的字符顺序进行颠倒
  if(start >= end)
  {
    return ;
  }
  else
  {
    char temp = str[start];
    str[start] = str[end];
    str[end] = temp;
    reverse(str, start+1, end-1);
  }
}
int main()
{
  string str;
  cout<<"请输入字符串:"<<endl;
  cin>>str;
  cout<<"转置后的字符串为:"<<endl;
  reverse(str,0,str.length()-1);
  cout << str <<endl;
  return 0;
}

使用C++标准库中的反转函数实现字符串转置操作:

代码示例:

#include<iostream>
#include<string>
using namespace std;
int main()
{
  string str;
  cout<<"请输入字符串:"<<endl;
  cin>>str;
  
  cout<<"转置后的字符串为:"<<endl;
  reverse(str.begin(),str.end());
  cout << str <<endl;
  return 0;
}

在C++中,实现字符串转置操作有多种方式,我们可以根据需要选择相应的方式来实现。无论哪种实现方式,最终目的都是将字符串中的字符顺序进行颠倒,达到字符串转置的效果。如果你希望进一步了解C++中其它有用的字符串操作,你可以参考C++中的字符串处理函数库。

  
  

评论区