C/C++编程笔记:C++中的stringstream及其应用

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语言编程学习基地

分享(源码、项目实战视频、项目笔记,基础入门教程)

欢迎转行和学习编程的伙伴,利用更多的资料学习成长比本身琢磨更快哦!

编程学习书籍分享:

编程学习视频分享:

 

相关文章
相关标签/搜索