C++ vector 多次刪除第一個元素


轉載聲明: 代碼都是來源於一下連接,做了一點點修改,為了記憶方便,故貼在這里,原文鏈接:
http://blog.csdn.net/doctor_feng/article/details/11880787

////test cpp operation // //#include<vector> //#include<stdio.h> //using namespace std; //typedef struct { // int id; // int name; //}Student; // // // //int main() { // Student ss = {12,13}; // printf("%d %d\n", ss.id, ss.name); // vector<Student> st; // //struct 初始化 // vector<Student> s(2,{12,13}) ; // s(2, ss); // s.push_back(ss); // // // // int i = 1; // // while(i < 10) { // printf("%d, %d", s.front().id, s.front().name); // // i++; // } //} #include <iostream> #include <vector> #include <algorithm> #include <string> #include <list> using namespace std; voidPrintInt(const int&nData) { cout<<nData<<endl; } int main() { vector<int> vecInt; for(int i=0; i<10;++i) { vecInt.push_back(i); } cout<<"向量中的內容為:"<<endl; //for_each(vecInt.begin(),vecInt.end(),PrintInt); for(vector<int>::iterator iter = vecInt.begin(); iter != vecInt.end(); ++iter) { cout << *iter << " "; } cout << "\n"; cout<<"vector contains "<<vecInt.size()<<" elements"<<endl; vecInt.pop_back();//刪除最后一個元素 cout<<"刪除最后一個元素后,vector contains "<<vecInt.size()<<" elements"<<endl; vector<int>::iterator k = vecInt.begin(); vecInt.erase(k);//刪除第一個元素 for(vector<int>::iterator iter = vecInt.begin(); iter != vecInt.end(); ++iter) { cout << *iter << " "; } cout << "\n"; //vecInt.erase(k); //迭代器k已經失效,會出錯 cout<<"刪除第一個元素后,vector contains "<<vecInt.size()<<" elements"<<endl; k = vecInt.begin(); vecInt.erase(k); for(vector<int>::iterator iter = vecInt.begin(); iter != vecInt.end(); ++iter) { cout << *iter << " "; } cout << "\n"; cout<<"刪除第一個元素后,vector contains "<<vecInt.size()<<" elements"<<endl; //vecInt.erase(vecInt.begin(),vecInt.end()); //刪除所有元素 //cout<<"刪除所有元素后,vector contains "<<vecInt.size()<<"elements"<<endl; //輸出為0 vector<int>::iterator vecNewEnd =remove(vecInt.begin(),vecInt.end(),5); //刪除元素 cout<<"刪除元素后,vector contains "<<vecInt.size()<<" elements"<<endl; cout<<"向量開始到新結束為止的元素:"<<endl; //for_each(vecInt.begin(),vecNewEnd,PrintInt); cout<<"向量中的元素:"<<endl; //for_each(vecInt.begin(),vecInt.end(),PrintInt); return 0; }

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM