概述
1.顺序容器
vector的优点和缺点
缺点: 插入数据时候慢(数组容量不够时,涉及到数组的移动,复制) 删除中间某元素时慢( 涉及元素的移动 )
优点:排序比较快 sort( vec.begin(), vec.end() ) --快速排序
可以进行快速查找 binary_search( vec.begin(), vec.end(), 70 ) - ---二分查找
list的优点和缺点
缺点: 排序慢 lst.sort()
查找慢 binary_search( vec.begin(), vec.end(), 70 ) --普通查找
优点:push_back,insert的时候很快 删除中间某元素时快
deque的优点和缺点
优点:相对vector 可以前端操作
缺点:比vector慢一点点
2.插入操作如何影响容器的选择
3.元素的访问如何影响容器的选择
4.选择容器的提示
#include <iostream>
#include <vector>
#include <list>
#include <deque>
#include <algorithm>
using namespace std;
int main( int argc, char** argv )
{
vector<int> vec;
list<int> lst;
deque<int> deq;
vec.push_back(10);
vec.push_back(90);
vec.push_back(50);
vector<int>::iterator itr = vec.begin();
++itr;
++itr;
vec.insert( itr, 70 );
itr = vec.begin();
++itr;
vec.erase(itr);
sort(vec.begin(), vec.end());
if(binary_search(vec.begin(), vec.end(), 70) )
{
cout<<"find!"<<endl;
}
else
{
cout<<"not find"<<endl;
}
lst.push_back(10);
lst.push_back(90);
lst.push_back(50);
list<int>::iterator itr2 = lst.begin();
++itr2;
++itr2;
lst.insert( itr2, 70 );
lst.sort();
if( binary_search(lst.begin(), lst.end(), 70 ) )
{
cout<<"find!"<<endl;
}
else
{
cout<<"not find"<<endl;
}
return 0;
}
最后
以上就是老迟到面包为你收集整理的stl之顺序容器的选用的全部内容,希望文章能够帮你解决stl之顺序容器的选用所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复