我是靠谱客的博主 老迟到面包,最近开发中收集的这篇文章主要介绍stl之顺序容器的选用,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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之顺序容器的选用所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(42)

评论列表共有 0 条评论

立即
投稿
返回
顶部