關於演算法的一些知識點

2021-09-22 10:00:05 字數 1677 閱讀 3957

set 不能用來計數,只能用來判斷是否存在這個string。

#include setstr;

#新增數值

str.insert(str_new);

#set 預設是從小到大排序

#兩個int插入用法,按照第乙個數值排序。

set> s;

#訪問第乙個值

s.begin()

#如果是雙int

int start,end;

start=(*s.begin()).first;

end=(*s.begin()).second;

#訪問最後乙個;

set>::iterator iter;

iter=s.end();

iter--;

#注意 不能用s.end()--,會出現錯誤,必須分開操作

使用set 可以很好的建立字串陣列;

這是他的方法:

1. begin()--返回指向第乙個元素的迭代器

2. clear()--清除所有元素

3. count()--返回某個值元素的個數

4. empty()--如果集合為空,返回true

5. end()--返回指向最後乙個元素的迭代器

6. equal_range()--返回集合中與給定值相等的上下限的兩個迭代器

7. erase()--刪除集合中的元素

8. find()--返回乙個指向被查詢到元素的迭代器

9. get_allocator()--返回集合的分配器

10. insert()--在集合中插入元素

11. lower_bound()--返回指向大於(或等於)某值的第乙個元素的迭代器

12. key_comp()--返回乙個用於元素間值比較的函式

13. max_size()--返回集合能容納的元素的最大限值

14. rbegin()--返回指向集合中最後乙個元素的反向迭代器

15. rend()--返回指向集合中第乙個元素的反向迭代器

16. size()--集合中元素的數目

17. swap()--交換兩個集合變數

18. upper_bound()--返回大於某個值元素的迭代器

19. value_comp()--返回乙個用於比較元素間的值的函式

使用

str.count(ss)
可以判斷是否存在這個字串,來避免重複。

對字串的遍歷:

set::iterator iter=str.begin();

while(iter!=str.end())

// 定義乙個 compare 物件,且內部對運算子 () 進行過載

struct classcomp

};int main(int argc, char* ar**)

cout<<"******************************==="<('f',100) );

mymap.insert(pair('g',200) );

cout<<"f => " it = mymap.begin();

do while ( key_comp((*it++).first, highest) );

cout << endl;

return 0;

}

關於集合的一些知識點

集合 集合,它也是一種陣列,它稱為 動態陣列 特點 宣告集合的時候,不需要指定集合的大小,當空間不夠時,會自動變大 arraylist可以存在重複資料 它儲存的資料是有順序的 採用的佇列的結構進行儲存 先進先出,後進後出 建立語法 arraylistlist new arraylist 這是一種泛型...

一些知識點

字串拼接 1.a join b a為元素之間的分隔符,b為待分割的序列 可用於輸出時的資料處理,元素間有空格,末尾沒有 2 s s s str1,str2,str3 前半部分為字串,後半部分為索引。用於引入,s是物件 3.format str1,str2,str3 與f 括號裡為已有變數 關於for...

一些知識點

1.vector是在堆上還是棧上?在堆上.2.我們發現指標有一些 似是而非 的特徵 1 指標消亡了,並不表示它所指的記憶體會被自動釋放。比如函式中的指標是區域性變數,如果它指向了堆上,而自己出了函式後消亡了,但它所指向的記憶體還是存在的,導致了記憶體洩漏.2 記憶體被釋放了,並不表示指標會消亡或者成...