直接看源码,内有详细解释
#include #include #include #include #include using namespace std; void Remove1(vector &vec, int num) { for (vector::iterator it = vec.begin(); it != vec.end();) { if (*it == num) it = vec.erase(it); else it++; } } void Remove2(list &lst, int num) { list::iterator it; for (it=lst.begin(); it!=lst.end();) { if (*it == num) { lst.erase(it++); } else it++; } } void initMap(map& m, int arr[], int arrLen) { for(int i = 0; i < arrLen; i++) m[i] = arr[i]; } void Remove_map(map& m, int num) { map::iterator it; for(it = m.begin(); it != m.end();) { if (it->second == num) m.erase(it++); else it++; } } void displayMap(map& m) { map::iterator it = m.begin(); while(it != m.end()) { cout << "key = " << it->first << ", value = " << it->second << endl; it++; } cout << endl; } int main(void) { int arr[] = {1, 3, 5, 5, 5, 13, 7, 5, 7, 9}; int arrLen = sizeof(arr) / sizeof(arr[0]); #if 1 // test vector vector vec(arr, arr+arrLen); Remove1(vec, 5); copy(vec.begin(), vec.end(), ostream_iterator(cout, " ")); cout << endl << endl; #endif // test list list lst(arr, arr+arrLen); Remove2(lst, 5); copy(lst.begin(), lst.end(), ostream_iterator(cout, " ")); cout << endl << endl; // test map map m; initMap(m, arr, arrLen); Remove_map(m, 5); displayMap(m); return 0; }
以上就是小编为大家带来的小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧全部内容了,希望大家多多支持考高分网~
上一篇 浅析Vue.js中v-bind v-model的使用和区别
下一篇 C++ 赋值构造函数注意点介绍
版权所有 (c)2021-2022 MSHXW.COM
ICP备案号:晋ICP备2021003244-6号