STL簡介-創新互聯

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

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

1.線性容器:該類容器的邏輯結構為線性結構。可以通過下標訪問元素的容器稱為隨機容器,其特點是容器中的元素在內存中是連續存放的,容器的存儲結構為順序存儲結構。vector和deque為隨機容器。

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

3.關聯容器:其存儲結構為平衡樹,基于紅黑樹實現。

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

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

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

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

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

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

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

二、迭代器?

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

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

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

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

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

//舉例:遍歷容器所有元素
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<

你是否還在尋找穩定的海外服務器提供商?創新互聯www.cdcxhl.cn海外機房具備T級流量清洗系統配攻擊溯源,準確流量調度確保服務器高可用性,企業級服務器適合批量采購,新人活動首月15元起,快前往官網查看詳情吧

當前文章:STL簡介-創新互聯
文章地址:http://m.kartarina.com/article20/cdscjo.html

成都網站建設公司_創新互聯,為您提供小程序開發動態網站網站設計公司全網營銷推廣網頁設計公司網站改版

廣告

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

主站蜘蛛池模板: 国产成人亚洲精品无码AV大片| 无码人妻精品一区二区三区99仓本 | 无码人妻丰满熟妇啪啪网站牛牛| 久久无码中文字幕东京热| 亚洲AV无码资源在线观看 | 亚洲日韩精品无码专区网址| 亚洲A∨无码无在线观看| 久久午夜伦鲁片免费无码| 无码熟妇人妻av| 国产精品视频一区二区三区无码| 久久久久精品国产亚洲AV无码| 无码天堂亚洲国产AV| 色AV永久无码影院AV| 人妻无码久久精品| 久久久久久久人妻无码中文字幕爆| 无码视频一区二区三区| 亚洲精品无码永久中文字幕| 人妻少妇看A偷人无码精品视频| 国产成人无码av片在线观看不卡| 中文字幕无码视频手机免费看| 亚洲一级特黄无码片| 精品成在人线AV无码免费看| r级无码视频在线观看| 人妻少妇精品无码专区| 亚洲AV无码不卡在线播放| 亚洲av无码专区在线观看素人| 亚洲a∨无码男人的天堂| 国产亚洲精久久久久久无码77777| 亚洲最大无码中文字幕| 无码人妻精品中文字幕免费 | 无码人妻精品一区二区三 | 亚洲av成本人无码网站| 无码精品A∨在线观看| 久久久久亚洲AV无码专区网站 | 中文午夜乱理片无码| 久久久91人妻无码精品蜜桃HD| 亚洲AV日韩AV永久无码色欲| 亚洲中文无码亚洲人成影院| 无码人妻精品一区二区三| 国产精品无码专区| 国产午夜精品无码|