小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

C STL之vector

 長沙7喜 2019-10-19

        C++ STL的學(xué)習(xí)從vector入手,但是在正式使用STL的內(nèi)容之前,要先在主函數(shù)前添加一句

using namespace std;

它的作用就是定義標(biāo)示符,如果不加上這句代碼就要在每句使用C++標(biāo)準程序庫的任何標(biāo)識符時加上“std::”了。

比如說

std::string s = 'Hellow World!';
std::cout<<s<<std::endl;

如果主函數(shù)前加上了using namespace std;的話,這樣就好了

string s = 'Hellow World!';
cout<<s<<endl;

怎么樣比剛才好多了吧,所以不要偷懶,凡是要用到C++標(biāo)準程序庫的任何標(biāo)識符,都要先加上這一句代碼。

說了這么多,現(xiàn)在終于要說說vector了。

vector

不定長數(shù)組、變長數(shù)組

頭文件:#include<vector>

定義:vector<typename>name;

(在剛剛以及接下來的STL容器的定義中所用的typename表示可以是任何基本類型,例如int、double、char,也可以是自定義結(jié)構(gòu)體或STL容器,例如vector、string等)

元素訪問:(現(xiàn)已定義vector<int>vi;)

  1. 下標(biāo)訪問  vi[0]、vi[1],這與一維數(shù)組的訪問方式極像。

  2. 通過迭代器訪問。 vi.begin()和vi[0]是等價的;vi.begin()+4和vi[4]也是等價的。

遍歷:

  1. 下標(biāo)訪問

    for(int i = 0; i < vi.size(); i++)

  2. 迭代器訪問

    for(vector<int>::iterator it = vi.begin(); it != vi.end(); it++)

看完了兩種遍歷方式想必你一定知道我推薦的是哪一種訪問方式了,沒錯就是下標(biāo)訪問。

常用函數(shù):

  1. push_back(x)

      在vector后面添加一個元素x,時間復(fù)雜度O(1)。

  2. pop_back()

     刪除vector的尾元素,O(1)。

  3. size()

      獲取vector中元素的個數(shù)。

  4. clear()

      清空vector中的所有元素,O(N)。

  5. insert(it,x)

      向vector的it迭代器處插入一個元素x,O(N)。

      例如,vi.insert(vi.begin()+2,-1);

              將-1插入到vi[2]的位置上。

  6. (1)erase(it)

         刪除迭代器it處的元素,O(N)。

    (2)erase(first,last)

          刪除[first,last)內(nèi)所有的元素,O(N)。

          例如,vi.erase(vi.beegin()+1,vi.begin()+4);

                  刪除vi[1],vi[2],vi[3].





    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多