字符串分割 & string类

本文介绍了C++中的字符串处理方法,如使用stringstream的getline进行字符串分割,讲解了string类的相关函数,如strstr用于查找子串,以及reverse函数如何反转字符串。同时强调了初始化、输入处理和条件判断在编程中的重要性,并提供了不同操作的时间复杂度分析。
摘要由CSDN通过智能技术生成

 我的c++学习笔记--一些资料收集


今日题目:

世界杯来了。其实和欧洲冠军联赛是一样的,一定一定一定要注意初始化时的位置,因为这个排bug半个小时。字符串分割。

n, 还是n。string的一些函数,strstr。

开关与灯。时间复杂度有点高,但是都能通过。注意输入。

可删除的点。注意条件判断。

字符串排序。可以用struct关联,时间复杂度高,用sort降复杂度。

个人笔记,不保证正确,请谨慎参考。

目录

 我的c++学习笔记--一些资料收集

今日题目:

1.使用stringstream getline 进行字符串分割

2.string类


1.使用stringstream getline 进行字符串分割

getline()的原型是istream& getline ( istream &is , string &str , char delim );

参数解释:

(1)istream &is 表示一个输入流,例如cin;

(2)string&str表示把从输入流读入的字符串存放在这个字符串str中;

(3)char delim表示遇到这个字符停止读入,在不设置的情况下系统默认该字符为’\n’,因此getline函数遇到换行符会自动结束读取操作。

(可以通过改变函数中第三个终止符参数对字符串进行分割。)

2.string类

 

string::npos

 strstr(str1,str2)函数,用来判断str2是否为str1的子串

str1,str2都为char指针

 未找到时返回值为null

reverse函数,用来转置子串。 

1.1 函数功能介绍 时间复杂度O(n)

将容器[first, last )范围内的元素颠倒顺序放置

 1.2 函数参数介绍

   first_iterator, last_iterator 为函数两个参数,分别输入容器或者数组初始位置和结束位置的迭代器位置

 1.3 函数细节注意

  a. 头文件 “algorithm”

  b. 使用该函数的容器必须有内置的迭代器函数或者有指针指向,例如queue容器和stack容器没有内置的迭代器函数就没有对应的参数输入是无法使用的

a[] reverse(a, a + 3);

string a = "123"; reverse(a.begin(), a.end());

string

begin() 返回第一个有效数据位置的迭代器;

end() 返回最后一个有效数据的下一个位置的迭代器也就是‘\0’;

rbegin()返回的是最后一个有效元素位置的迭代器;

rend()返回的是第一个元素的前一个位置的迭代器;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值