stringstream将字符串对象与流相关联,使您能够像从流中读取字符串同样(例如cin)。算法
基本方法是–编程
clear()—清除流微信
str()—获取并设置其内容存在于流中的字符串对象。函数
运算符<< —将字符串添加到stringstream对象。学习
运算符>> —从stringstream对象中读取内容,spa
stringstream类在解析输入时很是有用。3d
应用范围:视频
1.计算字符串中的单词数对象
输出:blog
字数是:6
二、打印字符串中单个单词的频率
三、给定的字符串中删除空格
给定字符串,请删除字符串中的全部空格并返回。
例:输入:C语言 C++;输出:C语言C++
预期的时间复杂度为O(n),而且只有一个字符串遍历。
1)遍历给定字符串的全部字符,请执行如下操做
a)若是当前字符是空格,则移动全部后续字符 字符返回一个位置并减少其长度 结果字符串。
上述解决方案的时间复杂度为O(n 2)。
更好的解决方案能够在O(n)的时间解决这个问题。这个想法是跟踪到目前为止所看到的非空格字符的计数。
1)初始化'count'= 0(到目前为止看到的非空格字符的计数)
2)遍历给定字符串的全部字符,请执行如下操做
a)若是当前字符为非空格,则放置此字符
在索引“计数”处增长“计数”
3)最后,在索引'count'处放置'\ 0'
下面是上述算法的实现。
上述解决方案的时间复杂度为O(n),它只对字符串进行一次遍历。
有朋友建议的另外一种解决方案是使用预约义的函数。这是实现:
但愿对你们有帮助~
另外若是你想更好的提高你的编程能力,学好C语言C++编程!弯道超车,快人一步!笔者这里或许能够帮到你~
C语言C++编程学习交流圈子,QQ群464501141【点击进入】微信公众号:C语言编程学习基地
分享(源码、项目实战视频、项目笔记,基础入门教程)
欢迎转行和学习编程的伙伴,利用更多的资料学习成长比本身琢磨更快哦!
编程学习书籍分享:
编程学习视频分享: