C++ vector 多次删除第一个元素
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 | 转载声明: 代码都是来源于一下连接,做了一点点修改,为了记忆方便,故贴在这里,原文链接: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; } |
每天分享一点计算机和软件工程考研的知识点到微信公众号:
cs2kaoyan
希望能对一些朋友有帮助~
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步