中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

STL之集合-創(chuàng)新互聯(lián)

現(xiàn)在,我們已經(jīng)學(xué)習(xí)了STL中的動(dòng)態(tài)數(shù)組和映射,這篇文章,就讓我們繼續(xù)學(xué)習(xí)STL中的集合~

洪湖ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!

一、集合?

定義:把一些元素按照某些規(guī)律放在一起,就形成了一個(gè)集合。比如說每個(gè)班級就是一個(gè)集合,競賽班也是一個(gè)集合,每間學(xué)校也是一個(gè)集合,等等。

特點(diǎn):確定性、互異性、無序性。

1.?確定性?表示一個(gè)元素要么在這個(gè)集合內(nèi),要么不在。(這個(gè)很水很容易理解)

2.?互異性?表示一個(gè)集合當(dāng)中所有元素都是不一樣的,不存在在一個(gè)集合中出現(xiàn)兩個(gè)一模一樣的元素

3.?無序性?表示一個(gè)集合當(dāng)中的元素沒有順序,就像班級調(diào)座位一樣,誰都可以坐前排,誰都可以坐后排,是平等地位的。

應(yīng)用:在信息學(xué)當(dāng)中,要用到集合,就可以使用set這個(gè)容器。

但是正如剛剛所說的,如果一個(gè)集合沒有順序,那么我們在遍歷這個(gè)集合的時(shí)候存在著困難,因此,我們還是會按照順序來整理元素(set會自動(dòng)幫你排序和去重,從小到大),但是大家要注意了,這個(gè)和集合的特點(diǎn)本身并不沖突。就像是班級所有同學(xué)確實(shí)可以都有機(jī)會坐前排和后排,但班主任可能會出于某些考慮按照規(guī)則制定了座位表,這二者并不沖突。

二、set?

??set 翻譯為集合,是一個(gè)內(nèi)部自動(dòng)有序且不含重復(fù)元素的容器。set 最主要的作用就是自動(dòng)去重并按升序排序,因此遇到需要去重但是又不方便直接開數(shù)組的情況。set 中的元素是唯一的,其內(nèi)部采用“紅黑樹”實(shí)現(xiàn)。

三、set的用法

?1. 定義方法:使用 set 前,必須先添加 set 頭文件,即 #include,同時(shí),必須要有“using namespacestd”。

定義一個(gè) set 的方法如下:

setname;

其中,typename 可以是任何基本類型或者容器,name 是集合的名字。

也可以定義set數(shù)組,例如:setst[100];這樣st[0]~st[99]中的每一個(gè)元素都是一個(gè)set容器。

2. 訪問方法:set只能通過迭代器訪問。

?先定義一個(gè)迭代器:set::iterator it;然后使用“*it”來訪問set中的元素。

?sets;??//普通的定義(不允許元素重復(fù))

?multisets;??//(允許集合中元素重復(fù))

?struct rec{...};

?sets;??//結(jié)構(gòu)體

四、Set?常用的函數(shù)

?a.insert(5); //在a集合里插入一個(gè)元素5

? a.size(); //獲取集合的長度(即有幾個(gè)數(shù))

a.clear(); //清空集合a中的所有元素

a.empty(); //判斷集合a是否為空

a.begin(); //集合a的第一個(gè)位置

a.end(); //集合a的最后一個(gè)元素的下一個(gè)位置,就沒有的意思

? a.rbegin()?返回一個(gè)逆向迭代器,指向倒數(shù)第一個(gè)元素,即最后一個(gè)元素的位置。

? a.insert(x)?把一個(gè)元素?x?插入到集合?a中,時(shí)間復(fù)雜度為O(logn)。

? a.erase(x)?從?a?中刪除所有等于?x?的元素。

? a.find(x)? ? ? //在集合s中查找等于?x?的元素,并返回指向該指針的迭代器。若不存在,則返回?s.end()?。時(shí)間復(fù)雜度O(logn)。

? a.count(x)? ? ?//返回集合?s?中等于?x?的元素個(gè)數(shù),時(shí)間復(fù)雜度O(k+logn),其中?k?為元素?x?的個(gè)數(shù)。

? set:: iterator it;??it是一個(gè)迭代器

a.erase(it); //刪除迭代器當(dāng)前存著的集合a的元素

set::iterator it?;??//定義集合類型的迭代器。

s.begin()?是指向集合中最小元素的迭代器。
s.end()?是指向集合中大元素的下一個(gè)位置的迭代器。

這個(gè)STL不難,大家自己看一下吧~

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧

分享名稱:STL之集合-創(chuàng)新互聯(lián)
轉(zhuǎn)載源于:http://m.rwnh.cn/article12/dopidc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)、Google軟件開發(fā)、電子商務(wù)搜索引擎優(yōu)化、標(biāo)簽優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)
定襄县| 无棣县| 恭城| 封丘县| 义马市| 双峰县| 临武县| 青冈县| 嘉峪关市| 昂仁县| 上虞市| 灵璧县| 瓮安县| 镇宁| 隆尧县| 师宗县| 洛南县| 北票市| 南和县| 巫山县| 普宁市| 平顶山市| 东乌珠穆沁旗| 淮南市| 偃师市| 铁岭县| 德庆县| 北川| 东乡族自治县| 延边| 广东省| 涟水县| 乌苏市| 法库县| 丹江口市| 英德市| 辽源市| 谷城县| 斗六市| 肥西县| 珠海市|