1、vector的基本操作
創(chuàng)新互聯(lián)建站為您提適合企業(yè)的網(wǎng)站設(shè)計(jì)?讓您的網(wǎng)站在搜索引擎具有高度排名,讓您的網(wǎng)站具備超強(qiáng)的網(wǎng)絡(luò)競(jìng)爭(zhēng)力!結(jié)合企業(yè)自身,進(jìn)行網(wǎng)站設(shè)計(jì)及把握,最后結(jié)合企業(yè)文化和具體宗旨等,才能創(chuàng)作出一份性化解決方案。從網(wǎng)站策劃到成都網(wǎng)站建設(shè)、成都做網(wǎng)站, 我們的網(wǎng)頁(yè)設(shè)計(jì)師為您提供的解決方案。
(1)、對(duì)動(dòng)態(tài)數(shù)組元素的添加和刪除、獲取
代碼如下:
#include#include using namespace std; //數(shù)組元素的添加和刪除、獲取 int main(void){ vector v1; v1.push_back(1); v1.push_back(2); v1.push_back(3); cout<<"len:"< 0){ cout< (2)、vector的初始化
代碼如下:
#include#include using namespace std; void printV(vector &v){ for(int i = 0; i < v.size(); i++){ cout< v1; v1.push_back(1); v1.push_back(3); v1.push_back(5); v1.push_back(7); vector v2 = v1; //對(duì)象初始化 vector v3(v1.begin(), v1.begin()+2); //對(duì)象初始化 /* //vector的遍歷 for(i =a 0; i < v1.size(); i++){ v1[i] = i + 1; } int i; for(i = 0; i < v1.size(); i++){ cout< v5(10); //前10個(gè)元素初始化為0; v5.push_back(100); v5.push_back(200); printV(v5); return 0; } (3)、vector中迭代器的正向和反向遍歷
代碼如下:
#include#include using namespace std; int main(void){ vector v1(10); //初始化空間的值都為0; for(int i = 0; i < 10; i++){ v1[i] = i+1; } //迭代器 //1(begin)、3、5 、(end) 當(dāng)it = v1.end()的時(shí)候,說(shuō)明這個(gè)容器已經(jīng)遍歷完了; //end()的位置,應(yīng)該是5的后面; //正向遍歷 vector ::iterator it; for(it = v1.begin(); it != v1.end(); it++){ cout<<*it<<" "; } cout< ::reverse_iterator rit; for(rit = v1.rbegin(); rit != v1.rend(); rit++){ cout<<*rit<<" "; } cout< (4)、vector中的元素刪除操作
代碼如下:
#include#include using namespace std; void printV(vector &v){ for(int i = 0; i < v.size(); i++){ cout< v1(10); for(int i = 0; i < 10; i++){ v1[i] = i + 1; } //區(qū)間刪除 v1.erase(v1.begin(), v1.begin()+3); //刪除開(kāi)始的3個(gè)元素 //指定(元素)位置刪除 v1.erase(v1.begin()); //在頭部刪除一個(gè) //根據(jù)元素的值 v1[1] = 2; v1[3] = 2; vector ::iterator it; for(it = v1.begin(); it != v1.end(); it++){ if(*it == 2){ v1.erase(it); //刪除的是元素,參數(shù)是迭代器 } } v1.insert(v1.begin(), 100); v1.insert(v1.end(), 200); printV(v1); return 0; } 2、deque的基本操作
雙端數(shù)組的基本操作;
代碼如下:
#include#include #include using namespace std; void printD(deque &d){ deque ::iterator it; for(it = d.begin(); it != d.end(); it++){ cout<<*it<<" "; } cout< d1; d1.push_back(1); d1.push_back(3); d1.push_back(5); d1.push_front(-11); d1.push_front(-33); d1.push_front(-55); cout<<"頭部元素:"< ::iterator it; it = find(d1.begin(), d1.end(), -33); if(it != d1.end()){ cout<<"-33數(shù)組的下標(biāo)是:"< 3、stack的基本操作
代碼如下:
#include#include using namespace std; class Teacher{ public: void printS(){ cout<<"age :"< s; s.push(&t1); s.push(&t2); s.push(&t3); while(!s.empty()){ Teacher *tmp = s.top(); tmp->printS(); s.pop(); } return 0; } /* int main(void){ Teacher t1,t2,t3; t1.age = 31; t2.age = 32; t3.age = 33; stack s; s.push(t1); s.push(t2); s.push(t3); while(!s.empty()){ Teacher tmp = s.top(); tmp.printS(); s.pop(); } return 0; } */ /* int main(void){ stack s; //入棧 for(int i = 0; i < 10; i++){ s.push(i+1); } cout< 4、queue的基本操作
代碼如下:
#include#include using namespace std; class Teacher{ public: int age; char name[25]; public: void printQ(){ cout<<"age :"< q; q.push(&q1); q.push(&q2); q.push(&q3); while(!q.empty()){ Teacher *tmp; tmp = q.front(); //獲取隊(duì)列頭的元素 tmp->printQ(); q.pop(); } return 0; } /* //隊(duì)列中的基礎(chǔ)數(shù)據(jù)類型, int main(void){ queue q; q.push(1); q.push(2); q.push(3); cout<<"對(duì)頭元素:"< 5、priority_queue的基本操作
代碼如下:
#include#include using namespace std; int main(void){ priority_queue p1; //默認(rèn)的情況下:是最大優(yōu)先級(jí)隊(duì)列; priority_queue , less > p2; priority_queue , greater > p3; //是最小的優(yōu)先級(jí)隊(duì)列 p1.push(33); p1.push(11); p1.push(22); p1.push(77); p1.push(55); p1.push(99); cout<<"隊(duì)頭元素:"< 6、list的基本操作
(1)、list的遍歷
代碼如下:
#include#include using namespace std; void printL(list
&l){ list ::iterator it; for(it = l.begin(); it != l.end(); it++){ cout<<*it<<" "; } cout< 素的位置; int main(void){ list l; cout<<"list的大小:"< ::iterator it = l.begin(); it++; it++; it++; l.insert(it, 100); //STL中的插入默認(rèn)是前插; printL(l); //1、list鏈表的節(jié)點(diǎn)的index是從0位置開(kāi)始的 //2、insert方法都是默認(rèn)的前插 return 0; } (2)、list的刪除
代碼如下:
#include#include using namespace std; void printL(list
&l){ list ::iterator it; for(it = l.begin(); it != l.end(); it++){ cout<<*it<<" "; } cout< l; for(int i = 0; i < 10; i++){ l.push_back(i); } list ::iterator it1 = l.begin(); list ::iterator it2 = l.begin(); it2++; it2++; it2++; l.erase(it1, it2); //刪除是左閉右開(kāi)的操作;[0, 3) printL(l); l.erase(l.begin()); printL(l); l.insert(l.begin(), 100); l.insert(l.begin(), 100); l.insert(l.begin(), 100); l.insert(l.begin(), 100); l.insert(l.begin(), 100); printL(l); l.remove(100); //刪除元素的方法,刪除了所有值為100的元素; printL(l); return 0; }
網(wǎng)頁(yè)題目:vector,deque,list相關(guān)操作
分享網(wǎng)址:http://weahome.cn/article/gpspdo.html