用C++实现数据结构串的操作
时间: 2024-02-20 22:56:05 浏览: 21
数据结构串可以使用C++中的字符串类string进行实现,也可以使用字符数组进行实现,下面分别给出两种实现方式。
使用字符串类string实现数据结构串的操作:
```cpp
#include <iostream>
#include <string>
using namespace std;
int main() {
string str; // 定义字符串对象
str = "hello world"; // 初始化字符串
cout << str << endl; // 输出字符串
// 在字符串末尾添加字符
str += '!';
cout << str << endl;
// 在字符串末尾添加另一个字符串
str += " I'm here";
cout << str << endl;
// 获取字符串长度
int len = str.length();
cout << "Length of string: " << len << endl;
// 访问字符串中的某个字符
char ch = str[0];
cout << "First character: " << ch << endl;
// 字符串查找
int pos = str.find("world");
if (pos != -1) {
cout << "Substring found at position " << pos << endl;
} else {
cout << "Substring not found" << endl;
}
// 字符串替换
str.replace(pos, 5, "universe");
cout << "After replacement: " << str << endl;
// 字符串子串
string sub = str.substr(6, 5);
cout << "Substring: " << sub << endl;
return 0;
}
```
使用字符数组实现数据结构串的操作:
```cpp
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char str[100]; // 定义字符数组
strcpy(str, "hello world"); // 初始化字符数组
cout << str << endl; // 输出字符数组
// 在字符数组末尾添加字符
int len = strlen(str);
str[len] = '!';
str[len + 1] = '\0'; // 添加字符串结束符
cout << str << endl;
// 在字符数组末尾添加另一个字符串
strcat(str, " I'm here");
cout << str << endl;
// 获取字符数组长度
len = strlen(str);
cout << "Length of string: " << len << endl;
// 访问字符数组中的某个字符
char ch = str[0];
cout << "First character: " << ch << endl;
// 字符串查找
char* pos = strstr(str, "world");
if (pos != NULL) {
cout << "Substring found at position " << pos - str << endl;
} else {
cout << "Substring not found" << endl;
}
// 字符串替换
strcpy(pos, "universe");
cout << "After replacement: " << str << endl;
// 字符串子串
char sub[10];
strncpy(sub, str + 6, 5);
sub[5] = '\0'; // 添加字符串结束符
cout << "Substring: " << sub << endl;
return 0;
}
```
以上两种实现方式都可以完成数据结构串的基本操作,具体使用哪种方式取决于具体的需求和喜好。