欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

STL簡介-創(chuàng)新互聯(lián)

STL主要包含了容器、迭代器、算法和string四部分。

創(chuàng)新互聯(lián)從2013年開始,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目成都做網(wǎng)站、網(wǎng)站建設(shè)網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元開化做網(wǎng)站,已為上家服務(wù),為開化各地企業(yè)和個人服務(wù),聯(lián)系電話:18980820575
標(biāo)準(zhǔn)庫算法對迭代器而不是容器進(jìn)行操作。因此,算法不能(直接)添加或刪除元素。
一、容器 容器為存儲和管理數(shù)據(jù)對象的集合,包含了三種容器:

1.線性容器:該類容器的邏輯結(jié)構(gòu)為線性結(jié)構(gòu)??梢酝ㄟ^下標(biāo)訪問元素的容器稱為隨機(jī)容器,其特點是容器中的元素在內(nèi)存中是連續(xù)存放的,容器的存儲結(jié)構(gòu)為順序存儲結(jié)構(gòu)。vector和deque為隨機(jī)容器。

2.適配器容器:以線性容器作為底層容器,且對線性容器的通用接口加以限制。默認(rèn)的底層容器為雙端隊列。只要滿足上層容器對接口的要求,也可以用自己定義的容器類型作為適配器容器的底層容器。

3.關(guān)聯(lián)容器:其存儲結(jié)構(gòu)為平衡樹,基于紅黑樹實現(xiàn)。

容器的創(chuàng)建 :
//模板類創(chuàng)建
vectora; //定義了一個vector類型的變量,其中元素為整型

//用戶自定義類型的容器變量
struct node{
    int key;
    int data;
};  
vectorb;

注意:用戶自定義的類型不適用于容器priority_queue、map、multimap、set、multiset
的類型參數(shù),因為這類容器需要根據(jù)元素值的大小來決定存放位置。因此,創(chuàng)建這類容器時,
需定義元素之間的比較準(zhǔn)則,確保元素之間可以進(jìn)行比較。
因此,若用戶自定義類型為整形、字符型等基本數(shù)據(jù)類型,也適用于以上容器;
若容器元素類型為用戶自定義類型,則必須指定自定義類型變量之間的比較方法。

//第一種方法:基于運(yùn)算符的比較方法
//包含小于運(yùn)算符重載的類型定義
struct node{
    int key;
    int data;
    bool operator<(const node &n1)const{
        return keyse;

//第二種方法:基于比較器的比較方法
//即定義對函數(shù)調(diào)用進(jìn)行重載的結(jié)構(gòu),并在創(chuàng)建對象時將該結(jié)構(gòu)名作為參數(shù)
struct cmp{
    bool oprator()(node n1,node n2){
        return n1.keyse;
容器的基本操作:?
size()
empty()
insert()
erase()
clear()
begin()
end()
pair類型:

pair類型的變量將一對值組合成一個整體(相當(dāng)于一個含有兩個元素的結(jié)構(gòu)),這一對值可以具有不同的數(shù)據(jù)類型,可以用pair的;兩個公有屬性first和second訪問這兩個值。

pairp(1,"hahaha");         //在定義時初始化
p=make_pair(2,"abc");                  //改變pair變量的值
cout<>vp;               //pair作為其他容器的類型參數(shù)
vp.push_back(make_pair(2,4));
cout<

二、迭代器?

迭代器可以訪問容器(適配器容器除外)的元素,迭代器和容器的關(guān)系類似于指針和數(shù)組的關(guān)系。迭代器和指針之間的一個重要區(qū)別就是不存在NULL的迭代器。

//迭代器的定義方式:
//容器類型::iterator it
vector::iterator it;

//向前/后移動
it--; 
it++;

//隨機(jī)迭代器如vector和deque,可以采用加上或減去一個整數(shù)的方式向后/向前移動
it = it+2;

//非隨機(jī)容器的迭代器只能采用“++”或“--”移動

//舉例:遍歷容器所有元素
for(vector::iterator it=a.begin();it!=a.end();it++)
        cout<<*it<

三、算法? string用法
//頭文件
#include//初始化
string s1;
string s2("hello world!");
string s3="hello china!";

//賦值與比較
if(s2>s3) cout<

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

當(dāng)前文章:STL簡介-創(chuàng)新互聯(lián)
文章地址:http://chinadenli.net/article20/cdscjo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、動態(tài)網(wǎng)站、網(wǎng)站設(shè)計公司、全網(wǎng)營銷推廣、網(wǎng)頁設(shè)計公司、網(wǎng)站改版

廣告

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