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