亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C++ push方法與push_back方法常見方法介紹

 更新時間:2022年11月24日 09:15:23   作者:Wanderer001  
push與push_back是STL中常見的方法,都是向數(shù)據(jù)結(jié)構(gòu)中添加元素,本文還將簡述push對應(yīng)的stack與queue系列,常見方法的介紹,以及與push_back相對應(yīng)的vector系列常見方法介紹,感興趣的朋友跟隨小編一起看看吧

【摘要】

push與push_back是STL中常見的方法,都是向數(shù)據(jù)結(jié)構(gòu)中添加元素。初識STL,對于添加元素的方法以產(chǎn)生混淆,這里暫對兩種方法作出比較分析。此外,本文還將簡述push對應(yīng)的stack與queue系列,常見方法的介紹,以及與push_back相對應(yīng)的vector系列常見方法介紹,詳見下文。

【正文】

  • push_back 方法介紹
vector::void push_back (const value_type& val);
vector::void push_back (value_type&& val);

該函數(shù)將一個新的元素加到vector的最后面,位置為當(dāng)前最后一個元素的下一個元素,新的元素的值是val的拷貝(或者是移動拷貝)

  • vector 常見方法介紹

(1)vector< 類型 > 標(biāo)識符 ;

(2)vector< 類型 > 標(biāo)識符(最大容量) ;

(3)vector< 類型 > 標(biāo)識符(最大容量,初始所有值);

(4) int i[4] = {12,3,4,5};

vector< 類型 > vi(i , i+2); //得到i索引值為3以后的值 ;  

(5)vector< vector<int> > //vi 定義2維的容器;記得一定要有空格,不然可能會報錯

vector< int > line // 在使用的時候一定要首先將vi個行進(jìn)行初始化;   
 
        for(int i = 0 ; i < 10 ; i ++)  
 
        {  
 
            vector.push_back(line);  
 
        }  

vector 定義二維數(shù)組,長度可以不預(yù)先確定。

(6)C++ vector排序

vector< int > vi ;   
 
vi.push_back(1);  
 
vi.push_back(3);  
 
vi.push_back(0);  
 
sort(vi.begin() , vi.end()); /// /從小到大  
 
reverse(vi.begin(),vi.end()); /// 從大到小 

(7)順序訪問

         vector < int > vi ;   
 
        for( int i = 0 ; i < 10 ; i ++)  
 
        {  
 
            vi.push_back(i);  
 
        }   
 
        for(int i = 0 ; i < 10 ; i ++) /// 第一種調(diào)用方法  
 
        {  
 
            cout <<vi[i] <<" " ;   
 
        }  
 
        for(vector<int>::iterator it = vi.begin() ;it !=vi.end() ; it++) ///第二種調(diào)用方法  
 
        {  
 
            cout << *it << " " ;  
 
        } 

(8)查找

vector < int > vi ;   
for( int i = 0 ; i < 10 ; i ++)  
{  
 
   vector.push_back(i);  
 
}   
vector < int >::interator it = find(vi.begin() , vi.end(),3) ;  
cout << *it << endl ; ///返回容器內(nèi)找到值的位置。

(9)使用數(shù)組對C++ vector進(jìn)行初始化

int i[10] ={1,2,3,4,5,6,7,78,8} ;  
///第一種   
vector<int> vi(i+1,i+3); ///從第2個元素到第3個元素  
for(vector <int>::interator it = vi.begin() ; it != vi.end() ; it++)  
{  
 
     cout << *it <<" " ;   
 
} 

(10) 結(jié)構(gòu)體的 vector

struct temp  
{  
 
public :  
 
string str ;   
 
public :  
 
int id ;  
 
}tmp;
int main()  
{  
 
vector <temp> t ;   
 
temp w1 ;   
 
w1.str = "Hello world" ;  
 
w1.id = 1 ;   
 
t.push_back(t1);  
 
cout << w1.str << "," <<w1.id <<endl ;   
 
return 0 ;   
 
}
  • push 函數(shù)介紹
stack::push();   //在棧頂增加元素
                 
queue::push();   //將x 接到隊列的末端。
  • stack與queue常見方法介紹

1、stack

stack 模板類的定義在<stack>頭文件中。

stack 模板類需要兩個模板參數(shù),一個是元素類型,一個容器類型,但只有元素類型是必要的,在不指定容器類型時,默認(rèn)的容器類型為deque。

定義stack 對象的示例代碼如下:

stack<int> s1;

stack<string> s2;

stack 的基本操作有:

入棧,如例:s.push();在棧頂增加元素

出棧,如例:s.pop();注意,出棧操作只是刪除棧頂元素,并不返回該元素。

訪問棧頂,如例:s.top()

判斷???,如例:s.empty(),當(dāng)??諘r,返回true。

訪問棧中的元素個數(shù),如例:s.size()。

2、queue

queue 模板類的定義在<queue>頭文件中。

與stack 模板類很相似,queue 模板類也需要兩個模板參數(shù),一個是元素類型,一個容器類型,元素類型是必要的,容器類型是可選的,默認(rèn)為deque 類型。

定義queue 對象的示例代碼如下:

queue<int> q1;
 
queue<double> q2;

queue 的基本操作有:

入隊,如例:q.push(x); 將x 接到隊列的末端。

出隊,如例:q.pop(); 彈出隊列的第一個元素,注意,并不會返回被彈出元素的值。

訪問隊首元素,如例:q.front(),即最早被壓入隊列的元素。

訪問隊尾元素,如例:q.back(),即最后被壓入隊列的元素。

判斷隊列空,如例:q.empty(),當(dāng)隊列空時,返回true。

訪問隊列中的元素個數(shù),如例:q.size()

到此這篇關(guān)于C++ push方法與push_back方法的文章就介紹到這了,更多相關(guān)C++ push方法與push_back方法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C語言實現(xiàn)簡單登錄操作

    C語言實現(xiàn)簡單登錄操作

    這篇文章主要為大家詳細(xì)介紹了C語言實現(xiàn)簡單登錄操作,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • 詳解C語言實現(xiàn)空間索引四叉樹

    詳解C語言實現(xiàn)空間索引四叉樹

    本文主要介紹了用C語言實現(xiàn)四叉樹,對算法感興趣的同學(xué),可以參考下,并且試驗一下。
    2021-05-05
  • 深入分析C++中執(zhí)行多個exe文件方法的批處理代碼介紹

    深入分析C++中執(zhí)行多個exe文件方法的批處理代碼介紹

    本篇文章是對C++中執(zhí)行多個exe文件方法的批處理代碼進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • 字典樹的基本知識及使用C語言的相關(guān)實現(xiàn)

    字典樹的基本知識及使用C語言的相關(guān)實現(xiàn)

    這篇文章主要介紹了字典樹的基本知識及使用C語言的相關(guān)實現(xiàn),這也是ACM等計算機(jī)考試和競賽題目的基本知識,需要的朋友可以參考下
    2015-08-08
  • C語言泛型選擇編程示例詳解

    C語言泛型選擇編程示例詳解

    這篇文章主要介紹了C語言泛型選擇編程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • C語言菜鳥基礎(chǔ)教程之?dāng)?shù)據(jù)類型

    C語言菜鳥基礎(chǔ)教程之?dāng)?shù)據(jù)類型

    在 C 語言中,數(shù)據(jù)類型指的是用于聲明不同類型的變量或函數(shù)的一個廣泛的系統(tǒng)。變量的類型決定了變量存儲占用的空間,以及如何解釋存儲的位模式。
    2017-10-10
  • C++超詳細(xì)講解函數(shù)對象

    C++超詳細(xì)講解函數(shù)對象

    在c++中,我們把所有能當(dāng)作函數(shù)使用的對象統(tǒng)稱為函數(shù)對象。它是實現(xiàn)operator()的任何類型,此運算符被稱為調(diào)用運算符,當(dāng)調(diào)用此操 作符時,其表現(xiàn)形式如同普通函數(shù)調(diào)用一般,因此取名叫函數(shù)對象
    2022-06-06
  • C語言單鏈表實現(xiàn)學(xué)生管理系統(tǒng)

    C語言單鏈表實現(xiàn)學(xué)生管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C語言單鏈表實現(xiàn)學(xué)生管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-12-12
  • 在while中使用cin>>a?為條件及注意事項說明

    在while中使用cin>>a?為條件及注意事項說明

    這篇文章主要介紹了在while中使用cin>>a?為條件及注意事項說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • C++中構(gòu)造函數(shù)重載

    C++中構(gòu)造函數(shù)重載

    這篇文章主要介紹了C++中構(gòu)造函數(shù)重載的相關(guān)資料,十分的詳細(xì),需要的朋友可以參考下
    2015-06-06

最新評論