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語言編程學習基地
分享(源碼、項目實戰視頻、項目筆記,基礎入門教程)
歡迎轉行和學習編程的夥伴,利用更多的資料學習成長比本身琢磨更快哦!
編程學習書籍分享:
編程學習視頻分享: