C++ 编程技巧锦集(一)
? C++刷题精髓在STL编程,还有一些函数。下面我就总结一下本人在刷题过程中,每逢遇见总要百度的内容………………(大概率因为本人刷题太少了) 1. map map<string,int> m; map<int,int> m; key-value一一对应,一个key只能有一个value,且m按key自动排序 begin()????????? 返回指向map头部的迭代器 迭代: map<int,int> ::iterator it; for(it = m.begin();it != m.end();it++) { cout << it->first << it->second << endl; } ? ? 2. vector ?vector<int> vec; 尾部插入数字:vec.push_back(a); 使用下标访问元素,cout<<vec[0]<<endl; 插入元素:??? vec.insert(vec.begin()+i,a);在第i+1个元素前面插入a; 删除元素:??? vec.erase(vec.begin()+2);删除第3个元素 vec.erase(vec.begin()+i,vec.end()+j);删除区间[i,j-1];区间从0开始 向量大小:vec.size(); 清空:vec.clear(); 迭代: vector<int>::iterator it; for(it=vec.begin();it!=vec.end();it++) cout<<*it<<endl;
? ? 3. set ?set<int> s; begin()--返回指向第一个元素的迭代器 clear()--清除所有元素 count()--返回某个值元素的个数 empty()--如果集合为空,返回true end()--返回指向最后一个元素的迭代器 erase()--删除集合中的元素 find()--返回一个指向被查找到元素的迭代器 insert()--在集合中插入元素 size()--集合中元素的数目 swap()--交换两个集合变量 ? 迭代: set<int>::iterator it; for(it=s.begin();it!=s.end();it++) cout<<*it<<endl; ? ? 4. queue ?queue<int> q; 入队,q.push(x); 将x 接到队列的末端。 while(!q.empty()) { q.front(); q.pop(); } ? ? 5. priority_queue https://blog.csdn.net/weixin_36888577/article/details/79937886
? ? 6. stack stack<int> s1; while(!s.empty()) { s.top(); s.pop(); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |