您好,登錄后才能下訂單哦!
這篇文章主要講解了“C++的vector使用方法有哪些”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“C++的vector使用方法有哪些”吧!
#include<iostream>//容器 #include<vector> //算法 #include<iterator>//迭代器
一個代碼示例
#include<iostream>//容器 #include<vector> //算法 #include<iterator>//迭代器 using namespace std; int main(int argc, const char* argv[]) { const int SIZE = 6; int array[SIZE] = {1,2,3,4,5,6}; vector<int> v(array,array+SIZE); cout<<"First element:"<<v.front()<<"\n Last element"<<v.back()<<endl; }
定義十個整形元素的向量(其中初值不確定)
vector<int> a(10);
每個元素初值為1;
vector<int> a(10,1);
類似于深拷貝的整體賦值方式
vector<char> a(b); vector<char> a(b.begin(),b.begin+3);//(a的值為0~2個元素)
用數組賦初值(和上面一個有點相似)
vector<int> a(b, b+7);
a.assign(b.begin(),b.begin()+3); //注意!此處,將b 0~2個元素構成的向量賦值給a!與上面不同! a.assign(4,2);// 與vector<int> a(10,1);結果相同
//返回最后一個元素 a.back(); //返回第一個元素 a.front(); //數組返回式 a[i];
a.clear(); a.empty();
//刪除最后一個元素 a.pop_back(); //刪除一塊元素 a.erase(a.begin(),a.begin()+3);
//在最后一個向量后插入一個元素 a.push_back(5); // 插入一段元素(從第一個元素算起,插入3個數,值都為5) a.insert(a.begin(), 3, 5); //用數組插入一段元素(在a的第一個元素的位置插入b的第3個元素到第5個元素) a.insert(a.begin(), b+1,b+6); //從現有向量中選擇元素向向量中添加 int a[6] = {1, 2, 3, 4, 5, 6}; vector<int> b; wector<int> c(a, a+4); for(vector<int>::iterator it = c.begin(); it<c.end():it++) { b.push_back(*it); } //從文件讀取元素向向量中添加 ifstream in("data.txt"); vector<int> a; for(int i;in>>i) { a.push_back(i); }
a.size(); a.c apacity();
//將元素個數調整至10,多刪少補,補的值隨機 a.resize(10); //將元素個數調整至10,多刪少補,補的值為2 a.resize(10,2); //大容量擴充(不補充值) a.reserve(100);
a.swap(b);
a==b; //還有 != >= <= > <
//從小到大排列 sort(a.begin(), a.end()); //倒置但不排列 reverse(a.begin(),a.end()); //元素復制 copy(a.begin(),a.end(),b.begin()); //從某一區塊中查找元素值,返回位置 find(a.begin(),a.end(),10);
下標只能獲取已存在的元素,不能進行賦值操作
//錯誤示例 vector<int> a; for(int i = 0;i<10;i++) a[i] = i;
感謝各位的閱讀,以上就是“C++的vector使用方法有哪些”的內容了,經過本文的學習后,相信大家對C++的vector使用方法有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。