編寫(xiě)一個(gè)函數(shù),計(jì)算字符串中含有的不同字符的個(gè)數(shù)。字符在ACSII碼范圍內(nèi)(0~127)。不在范圍內(nèi)的不作統(tǒng)計(jì)。
輸入N個(gè)字符,字符在ACSII碼范圍內(nèi)。
輸出描述:
輸出范圍在(0~127)字符的個(gè)數(shù)。
輸入例子:
abc輸出例子:
3#include<iostream>#include<set>using namespace std;int main(){ char c; set<char> s; //set不存在重復(fù)的元素(利用二叉樹(shù)存儲(chǔ)) while(cin>>c){ if(c>=0 && c<=127){ s.insert(c); } } cout << s.size() <<endl;}set中常見(jiàn)用法:begin() ,返回set容器的第一個(gè)元素
end() ,返回set容器的最后一個(gè)元素
clear() ,刪除set容器中的所有的元素
empty() ,判斷set容器是否為空
max_size() ,返回set容器可能包含的元素最大個(gè)數(shù)
size() ,返回當(dāng)前set容器中的元素個(gè)數(shù)
rbegin ,返回的值和end()相同
rend() ,返回的值和rbegin()相同
erase(iterator) ,刪除定位器iterator指向的值
erase(first,second),刪除定位器first和second之間的值
erase(key_value),刪除鍵值key_value的值
count() 用來(lái)查找set中某個(gè)某個(gè)鍵值出現(xiàn)的次數(shù)。這個(gè)函數(shù)在set并不是很實(shí)用,因?yàn)橐粋€(gè)鍵值在set只可能出現(xiàn)0或1次,這樣就變成了判斷某一鍵值是否在set出現(xiàn)過(guò)了。find() ,返回給定值值得定位器,如果沒(méi)找到則返回end()(迭代器)。insert(key_value); 將key_value插入到set中 ,返回值是pair<set<int>::iterator,bool>,bool標(biāo)志著插入是否成功,而iterator代表插入的位置,若key_value已經(jīng)在set中,則iterator表示的key_value在set中的位置。
inset(first,second);將定位器first到second之間的元素插入到set中,返回值是void.
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注