/*cb16a_c++_顺序容器的选用_排序_二分查找
顺序容器:
1.vector的优点与缺点
vector优点:排序利用下标,快速排序,做二分查找非常快
2.list的优点与缺点
list优点:插入,删除速度快。vector插入,删除速度慢。
list缺点:排序慢
3.deque的优点与缺点
优点:快速排序,双端操作。
缺点:比vector操作慢一点点
插入操作如何影响容器的选择---list
元素的访问如何影响容器的选择---vector
选择容器的提示---不知道选择哪个,就vector. 因为vector可以转list或者deque

参考:

https://www.cnblogs.com/txwtech/p/12317531.html
vector sort算法排序。。。
vector 排序后,做二分查找非常快
if (binary_search(v.begin(), v.end(),70))//二分查找,找70.
{
cout << "找到了" << endl;
}
//链表排序后,没有下标,不能随机操作,不能用二分查找。只能线程查找
*/

 /*cb16a_c++_顺序容器的选用_排序_二分查找
顺序容器:
1.vector的优点与缺点
vector优点:排序利用下标,快速排序,做二分查找非常快
2.list的优点与缺点
list优点:插入,删除速度快。vector插入,删除速度慢。
list缺点:排序慢
3.deque的优点与缺点
优点:快速排序,双端操作。
缺点:比vector操作慢一点点
插入操作如何影响容器的选择---list
元素的访问如何影响容器的选择---vector
选择容器的提示---不知道选择哪个,就vector. 因为vector可以转list或者deque
vector sort算法排序。。。
vector 排序后,做二分查找非常快
if (binary_search(v.begin(), v.end(),70))//二分查找,找70.
{
cout << "找到了" << endl;
}
//链表排序后,没有下标,不能随机操作,不能用二分查找。只能线程查找
*/ #include <iostream>
#include <list>
#include <vector>
#include <deque>
#include <algorithm> using namespace std; int main()
{
vector<int> v;
list<int> l;
deque<int> d;
d.push_back();
d.push_front();//双端操作 v.push_back();
v.push_back();
v.push_back();
vector<int>::iterator vi = v.begin();
++vi;
++vi;
v.insert(vi, );//插入在vi迭代器前,70
vi = v.begin();
++vi;
v.erase(vi);//删除后,后面的数据向前移动
sort(v.begin(),v.end());//排序后,做二分查找非常快
//二分查找
if (binary_search(v.begin(), v.end(),))//二分查找,找70.
{
cout << "找到了" << endl;
}
else
{
cout << "没找到" << endl;
} l.push_back();//list插入速度快
l.push_back();
l.push_back();
list<int>::iterator li = l.begin();
++li;
++li;
l.insert(li,);//list插入速度快,动态创建节点,指针前后连接。
li = l.begin();
++li;
l.erase(li);//删除速度快。删除后,直接前后指针相连接
l.sort();
if (binary_search(l.begin(), l.end(), ))//链表没有下标,不能随机操作,不能用二分查找。只能线程查找
{
cout << "找到了" << endl;
}
else
{
cout << "没找到" << endl;
} return ;
}

cb16a_c++_顺序容器的选用_排序_二分查找的更多相关文章

  1. cb02a_c++_数据结构_顺序容器_STL_list类_双向链表

    /*cb02a_c++_数据结构_顺序容器_STL_list类_双向链表实例化std::list对象在list开头插入元素在list末尾插入元素在list中间插入元素,插入时间恒定,非常快.数组:中间 ...

  2. cb14a_c++_顺序容器的操作7_赋值与交换(swap)_vector转list

    cb14a_c++_顺序容器的操作7_赋值与交换(swap) vector数据赋值给list, slist.assign(svec.begin(), svec.end());//这样可以转 svec- ...

  3. ca13a_c++_顺序容器的操作6删除元素

    /*ca13a_c++_顺序容器的操作6删除元素c.erase(p) //删除迭代器p指向的位置c.erase(b,e) //删除b to e之间的数据,迭代器b包括,e不包括c.clear()//删 ...

  4. cb11a_c++_顺序容器的操作4_容器大小操作_resize-max_size

    cb11a_c++_顺序容器的操作4 2 容器大小的操作 3 c.size() 容器当前的个数 4 c.max_size(),容器最大存储量 5 c.empty() 是否为空 6 c.resize(n ...

  5. cb10a_c++_顺序容器的操作3关系运算符

    cb10a_c++_cb09a_c++_顺序容器的操作3 2 顺序容器的操作3 3 关系运算符 4 所有的容器类型都可以使用 5 比较的容器必须具有相同的容器类型,double不能与int作比较 6 ...

  6. cb09a_c++_顺序容器的操作2-在顺序容器中添加元素_插入数据

    cb09a_c++_顺序容器的操作2在顺序容器中添加元素vector不能向前插入数据,list可以用insertc.push_back(t);c.push_front(t);c.insert(p,t) ...

  7. cb08a_c++_顺序容器的操作1

    cb08a_c++_顺序容器的操作1容器定义的类型别名begin(闭区间)和end(开区间)成员{first,last)左闭右开,左包括,右不包括,end()指向最后一个的下一个. /*cb08a_c ...

  8. cb06a_c++_顺序容器的定义

    /*cb06a_c++_顺序容器的定义顺序容器:vector,数组,尾端操作数据,快速随机访问list 链表,快速插入数据deque数组,双端-首尾操作数据,方便两端的数据访问 顺序容器适配器:sta ...

  9. cb03a_c++_数据结构_顺序容器_STL_stack

    /*cb03a_c++_数据结构_顺序容器_STL_stack堆栈:LIFO--Last In First Out后进先出,用于系统程序设计自适应容器(容器适配器),不是独立的容器,是一个适配器栈适配 ...

随机推荐

  1. 【JUC】CountDownLatch和Java枚举的使用例子

    public enum CountryEnum { ONE(1,"春"), TWO(2,"夏"), THREE(3,"秋"), FOUR(4 ...

  2. [JavaWeb基础] 005.Hibernate的配置和简单使用

    1.Hibernate简介 Hibernate是一个基于Java的开源的持久化中间件,对JDBC做了轻量的封装.采用ORM映射机制,负责实现Java对象和关系数据库之间的映射,把sql语句传给数据库, ...

  3. 解决pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out.问题

    国内的其他镜像源清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/阿里云 http://mirrors.aliyun.com/pypi/simple/中国科技 ...

  4. pix三接口配置

    拓扑 R1 R1#conf t Enter configuration commands, one per line. End with CNTL/Z. R1(config)#int f0/0 R1( ...

  5. win服务器管理软件巧利用——如何让服务器管理事半功倍

    那些服务器管理大牛估计看到这个标题会笑了,服务器怎么管理,靠自带的远程桌面肯定是远远不够的,要实现上千台服务器同时登陆,没有一个好程序管理,估计得三餐不食为其颠倒. 那么,有什么好的服务器推荐呢?站长 ...

  6. python通用数据库操作工具 pydbclib

    pydbclib是一个通用的python关系型数据库操作工具包,使用统一的接口操作各种关系型数据库(如 oracle.mysql.postgres.hive.impala等)进行增删改查,它是对各个p ...

  7. [组合数学] 圆排列和欧拉函数为啥有关系:都是polya定理的锅

    本文是一个笨比学习组合数学的学习笔记,因为是笨比,所以写的应该算是很通俗易懂了. 首先,我们考虑这么一个问题:你有无穷多的\(p\)种颜色的珠子,现在你想要的把他们中的\(n\)个以圆形的形状等间距的 ...

  8. layui插件croppers的使用

    这是我第一次在layui环境下面使用croppers插件.先粘贴下前端代码并附上我的目录结构吧.       @{   ViewData["Title"] = "Crop ...

  9. (Java实现) 装载问题

    2.装载问题 [问题描述] 有一批共n个集装箱要装上艘载重量为c的轮船,其中集装箱i的重量为wi.找出一种最优装载方案,将轮船尽可能装满,即在装载体积不受限制的情况下,将尽可能重的集装箱装上轮船. [ ...

  10. Java实现 蓝桥杯VIP 算法训练 筛选号码

    算法训练 筛选号码 Description 有n个人围成一圈,顺序排号(编号为1到n).从第1个人开始报数(从1到3报数),凡报到3的人退出圈子.从下一个人开始继续报数,直到剩下最后一个人,游戏结束. ...