演算法基礎 STL函式的使用

2021-08-21 16:50:10 字數 1431 閱讀 7062

有多組資料,每組一行,每組就是一篇小文章。每篇小文章都是由小寫字母和空格組成,沒有標點符號,遇到#時表示輸入結束。(保證每行不超過1000個字元)

每組只輸出乙個整數,其單獨成行,該整數代表一篇文章裡不同單詞的總數

you are very kind

#

4

re:先設定乙個字元型陣列來儲存字元,然後逐一將每乙個單詞存到二維陣列中。接著排序,然後統計不同即可

#include#include#include#define maxn 10001

char *****[maxn][100]= ;

char str[maxn]= ;

int cmp(const void *a,const void *b)

int main()

else if(flag==0&&str[i]==' ')

if(str[i]!=' ')

}memset(str,'\0',sizeof(str));

//for(i=0;i<=count;i++)

//puts(*****[i]);

if(count>0)

qsort(*****,count+1,100*sizeof(char),cmp);

/* for(i=0;i<=count;i++)

puts(*****[i]);

*/int sum=1;

for(i=1; i<=count; i++)

if(count==-1)

sum=0;

printf("%d\n",sum);

}return 0;

}

2.map
1 # include 2 # include 3 # include 4 # include 5

6 using namespace std;

7 8 int main()

20 cout<3.set

# include # include # include # include using namespace std;

int main()

cout<4.strtok

1 #include2 #include3 #include4 #include5 #include6 #include7 #include8 using namespace std;

9 seth;

10 char p[1000005];

11 int main()

12 25 cout1) 如果一行句子只有空格,則有0個單詞。

2) 如果一行句子由空格開頭,不能算作單詞個數。

3) 如果兩個單詞之間有n個空格隔開,不能算作單詞個數。

4) 如果句子由n個空格結尾,不能算作單詞個數。

5) 相同的單詞的個數只是乙個。

演算法基礎 使用STL實現全排列

stl是標準模版庫的縮寫,是泛化程式設計的實現,基本觀念是將資料和操作進行分離,資料使用容器進行管理,操作由演算法進行實現,迭代器在兩者之間進行溝通,使得任何演算法和任何容器都有可能進行互動運作。這篇文章以乙個簡單的例子進行介紹stl使用上的便利之處。比如通過臨位對換方式實現的全排列,可能如下 in...

基礎演算法 STL容器

把自己寫 時一些經常要用到的容器做個總結,以便自己複習。引用標頭檔案 c 11 include插入 hash a 1 判斷key是否存在 hash.count a 0或hash,find a hash.end 遍歷 for auto item hash clear 刪除set容器中所用的元素。emp...

STL 函式物件的使用

函式物件 定義了呼叫操作符的類,其物件稱為 函式物件 stl中有大量的演算法,這些演算法是對slt中的容器進行操作,演算法需要函式物件作為引數因此使用stl演算法的時候需要寫函式物件。由於stl中的演算法和容器都是用模板設計出來的,因此我們在寫函式物件時也需要使用模板。函式物件相較於普通函式的優勢在...