C++ 编程技巧锦集(一)

C++ 编程技巧锦集(一),第1张

概述  C++刷题精髓在STL编程,还有一些函数。下面我就总结一下本人在刷题过程中,每逢遇见总要百度的内容………………(大概率因为本人刷题太少了) 1. map map<string, int> m; map<int, int> m; key-value一一对应,一个key只能有一个value,且m按key自动排序 begin()          返回指向map头部的迭代器 clear()     

 

C++刷题精髓在STL编程,还有一些函数。下面我就总结一下本人在刷题过程中,每逢遇见总要百度的内容………………(大概率因为本人刷题太少了)

1. map

map<string,int> m;

map<int,int> m;

key-value一一对应,一个key只能有一个value,且m按key自动排序

begin()          返回指向map头部的迭代器
clear()         删除所有元素
count()          返回指定元素出现的次数
empty()          如果map为空则返回true
end()            返回指向map末尾的迭代器
erase()          删除一个元素
find()           查找一个元素
insert()         插入元素
size()           返回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 接到队列的末端。
出队,q.pop(); d出队列的第一个元素,注意,并不会返回被d出元素的值。
访问队首元素,q.front(),即最早被压入队列的元素。
访问队尾元素,q.back(),即最后被压入队列的元素。
判断队列空,q.empty(),当队列空时,返回true。
访问队列中的元素个数,q.size()

while(!q.empty()){    q.front();    q.pop();  }

 

 

5. priority_queue

https://blog.csdn.net/weixin_36888577/article/details/79937886
priority_queue <int,vector<int>,greater<int> > q;      //升序队列
priority_queue <int,less<int> >q;           //降序队列
greater和less是std实现的两个仿函数(就是使一个类的使用看上去像一个函数。其实现就是类中实现一个operator(),这个类就有了类似函数的行为,就是一个仿函数类了)

和队列基本 *** 作相同:

top 访问队头元素 empty 队列是否为空 size 返回队列内元素个数 push 插入元素到队尾 (并排序) emplace 原地构造一个元素并插入队列 pop d出队头元素 swap 交换内容

 

 

6. stack

stack<int> s1;
stack<string> s2;
入栈,s.push(x);
出栈,s.pop();注意,出栈 *** 作只是删除栈顶元素,并不返回该元素。
访问栈顶,s.top()
判断栈空,s.empty(),当栈空时,返回true。
访问栈中的元素个数,s.size()。

while(!s.empty()){    s.top();    s.pop();  }
总结

以上是内存溢出为你收集整理的C++ 编程技巧锦集(一)全部内容,希望文章能够帮你解决C++ 编程技巧锦集(一)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1228630.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存