下面是“C++语言数据结构 串的基本操作实例代码”的完整攻略。
什么是串
在计算机领域中,串是由一系列字符组成的数据结构。可以将其理解为一个字符数组,每个字符处于数组中的一个位置,并且可以通过下标位置访问对应的字符。
C++中的串类型可以使用字符数组来表示,另外还有标准库中的string类型。
基本操作
下面是实现串的基本操作的示例代码,并进行了详细的解释。
初始化
初始化一个字符串,可以直接使用C++字符串类型中的构造函数,也可以使用字符数组进行初始化。
#include<iostream>
#include<string>
using namespace std;
int main()
{
// 初始化方法一:使用string类型
string s1 = "hello world!";
cout << s1 << endl;
// 初始化方法二:使用字符数组
char str[] = "hello world!";
string s2(str);
cout << s2 << endl;
return 0;
}
运算符重载
C++中的字符串类型可以重载各种运算符来进行操作。
#include<iostream>
#include<string>
using namespace std;
int main()
{
string s1 = "hello";
string s2 = "world";
string s3 = s1 + " " + s2;
cout << s3 << endl; // 输出 hello world
return 0;
}
查找
在一个字符串中查找某个子串或字符,可以使用find()函数实现。
#include<iostream>
#include<string>
using namespace std;
int main()
{
string s1 = "hello world";
int idx = s1.find("world");
cout << idx << endl; // 输出 6,表示在字符串中找到了该子串并返回其在字符串中的下标位置
idx = s1.find('o');
cout << idx << endl; // 输出 4,表示在字符串中找到字符'o'并返回其在字符串中的下标位置
idx = s1.find_first_of("o");
cout << idx << endl; // 输出 4,表示在字符串中找到第一个'o'字符并返回其在字符串中的下标位置
return 0;
}
替换
字符串中的内容可以进行替换,使用replace()函数实现。
#include<iostream>
#include<string>
using namespace std;
int main()
{
string s1 = "hello world";
s1.replace(0, 5, "hi"); // 将字符串中位置0~5的字符替换为"hi"
cout << s1 << endl; // 输出 hi world
return 0;
}
示例说明
下面给出两个具体的示例说明。
示例一
在一个字符串中计算某个字符的出现次数。
#include<iostream>
#include<string>
using namespace std;
int main()
{
string s1 = "hello world";
char c = 'o';
int cnt = 0;
for(int i=0; i<s1.size(); i++)
{
if(s1[i] == c)
cnt++;
}
cout << c << " appears " << cnt << " times in the string" << endl;
return 0;
}
示例二
给定两个字符串s和t,判断s是否为t的子串。
#include<iostream>
#include<string>
using namespace std;
int main()
{
string s = "hello world";
string t = "world";
int idx = s.find(t);
if(idx != -1)
cout << t << " is a substring of " << s << endl;
else
cout << t << " is not a substring of " << s << endl;
return 0;
}
以上就是关于“C++语言数据结构 串的基本操作实例代码”的完整攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C++语言数据结构 串的基本操作实例代码 - Python技术站