以括号形式打印以 C++ 中字符串拆分的各种方式
在这个问题中,我们给定一个字符串,我们必须将其分解成子字符串,并在括号中打印它们。
让我们举几个例子来更好地理解这个问题,
Input : wxyz Output : (w) (x) (y) (z) (w) (x) (yz) (w) (xy) (z) (w) (xyz) (wx) (y) (z) (wx) (yz) (wxy) (z) (wxyz)
说明 − 我们将把字符串分解为所有可能的子字符串。并用括号括住每个子字符串。
现在,由于我们已经理解了这个问题,让我们创建一个解决该问题的方案吧。
在这里,我们将使用递归来解决问题。我们将使用两个参数,一个将是字符串的下一个字符,另一个是输出字符串。未处理的子字符串将在每次迭代时慢慢处理。子集也已创建。
示例
解决问题的程序 −
#include <iostream>
using namespace std;
void substring(string str, int index, string out){
if (index == str.length())
cout << out << endl;
for (int i = index; i < str.length(); i++)
substring(str, i + 1, out + "(" + str.substr(index, i+1-index) + ")" );
}
int main(){
string str = "wxyz";
cout<<”The substring are :”<<endl;
substring(str, 0, "");
return 0;
}输出
The substring are : (w)(x)(y)(z) (w)(x)(yz) (w)(xy)(z) (w)(xyz) (wx)(y)(z) (wx)(yz) (wxy)(z) (wxyz)
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP