91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C++中push與push_back有什么不同

發布時間:2021-01-26 16:21:20 來源:億速云 閱讀:709 作者:Leah 欄目:編程語言

這篇文章將為大家詳細講解有關C++中push與push_back有什么不同,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

push_back 方法介紹

vector::void push_back (const value_type& val);

vector::void push_back (value_type&& val);

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

vector 常見方法介紹

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

(2)vector< 類型 > 標識符(最大容量) ;
(3)vector< 類型 > 標識符(最大容量,初始所有值);
(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個行進行初始化; 
for(int i = 0 ; i < 10 ; i ++) 
{ 
vector.push_back(line); 
}

vector 定義二維數組,長度可以不預先確定。
(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 ++) /// 第一種調用方法 
{ 
cout <<vi[i] <<" " ; 
} 
for(vector<int>::iterator it = vi.begin() ;it !=vi.end() ; it++) ///第二種調用方法 
{ 
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 ; ///返回容器內找到值的位置。

(9)使用數組對C++ vector進行初始化

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) 結構體的 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 函數介紹

stack::push();//在棧頂增加元素

queue::push();//將x 接到隊列的末端。

stack與queue常見方法介紹

1、stack

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

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

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

stack<int> s1;

stack<string> s2;

stack 的基本操作有:

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

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

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

判斷棧空,如例:s.empty(),當棧空時,返回true。

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

2、queue

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

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

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

queue<int> q1;

queue<double> q2;

queue 的基本操作有:

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

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

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

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

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

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

關于C++中push與push_back有什么不同就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

乐业县| 惠安县| 嘉禾县| 岱山县| 济南市| 武清区| 乌兰浩特市| 建昌县| 盈江县| 郁南县| 宁安市| 额尔古纳市| 霍山县| 定结县| 泗水县| 根河市| 宝丰县| 奎屯市| 晋江市| 竹山县| 新宾| 蛟河市| 东乡县| 郑州市| 奇台县| 英超| 西盟| 香河县| 伊宁县| 安国市| 呼伦贝尔市| 桂东县| 二连浩特市| 锦州市| 甘肃省| 民勤县| 和平县| 多伦县| 蒲城县| 建宁县| 平罗县|