cb16a_c++_顺序容器的选用_排序_二分查找
/*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++_顺序容器的选用_排序_二分查找的更多相关文章
- cb02a_c++_数据结构_顺序容器_STL_list类_双向链表
/*cb02a_c++_数据结构_顺序容器_STL_list类_双向链表实例化std::list对象在list开头插入元素在list末尾插入元素在list中间插入元素,插入时间恒定,非常快.数组:中间 ...
- cb14a_c++_顺序容器的操作7_赋值与交换(swap)_vector转list
cb14a_c++_顺序容器的操作7_赋值与交换(swap) vector数据赋值给list, slist.assign(svec.begin(), svec.end());//这样可以转 svec- ...
- ca13a_c++_顺序容器的操作6删除元素
/*ca13a_c++_顺序容器的操作6删除元素c.erase(p) //删除迭代器p指向的位置c.erase(b,e) //删除b to e之间的数据,迭代器b包括,e不包括c.clear()//删 ...
- cb11a_c++_顺序容器的操作4_容器大小操作_resize-max_size
cb11a_c++_顺序容器的操作4 2 容器大小的操作 3 c.size() 容器当前的个数 4 c.max_size(),容器最大存储量 5 c.empty() 是否为空 6 c.resize(n ...
- cb10a_c++_顺序容器的操作3关系运算符
cb10a_c++_cb09a_c++_顺序容器的操作3 2 顺序容器的操作3 3 关系运算符 4 所有的容器类型都可以使用 5 比较的容器必须具有相同的容器类型,double不能与int作比较 6 ...
- cb09a_c++_顺序容器的操作2-在顺序容器中添加元素_插入数据
cb09a_c++_顺序容器的操作2在顺序容器中添加元素vector不能向前插入数据,list可以用insertc.push_back(t);c.push_front(t);c.insert(p,t) ...
- cb08a_c++_顺序容器的操作1
cb08a_c++_顺序容器的操作1容器定义的类型别名begin(闭区间)和end(开区间)成员{first,last)左闭右开,左包括,右不包括,end()指向最后一个的下一个. /*cb08a_c ...
- cb06a_c++_顺序容器的定义
/*cb06a_c++_顺序容器的定义顺序容器:vector,数组,尾端操作数据,快速随机访问list 链表,快速插入数据deque数组,双端-首尾操作数据,方便两端的数据访问 顺序容器适配器:sta ...
- cb03a_c++_数据结构_顺序容器_STL_stack
/*cb03a_c++_数据结构_顺序容器_STL_stack堆栈:LIFO--Last In First Out后进先出,用于系统程序设计自适应容器(容器适配器),不是独立的容器,是一个适配器栈适配 ...
随机推荐
- Java程序员的两项通用能力
工作这几年来,经历了很多.从小白到中级(手机里有一款叫中国象棋的游戏,里面给对弈中电脑水平分为小白.菜鸟.新手.入门.初级.中级.高级.大师.特级大师,编程我暂且按照这样来区分). 学校教给我的是从小 ...
- 【软工】[技术博客] 用Monaco Editor打造接近vscode体验的浏览器IDE
[技术博客] 用Monaco Editor打造接近vscode体验的浏览器IDE 官方文档与重要参考资料 官方demo 官方API调用样例 Playground 官方API Doc,但其搜索框不支持模 ...
- Redis详解(十)------ 从零开始搭建集群
在上一篇博客我们介绍了------Redis哨兵(Sentinel)模式,哨兵模式主要是解决高可用问题,在master节点宕机时,slave节点能够自动切换成为master节点 本篇博客我们来介绍Re ...
- html5学习之路_007
CSS概述 CSS指层叠样式表 CSS样式表极大地提高了工作效率 CSS基础语法 selector { property:value } 例:hi {color:red; font-size:14px ...
- html5学习之路_006
表单与php交互 <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...
- ms-setting是什么
ms-settings 遇到了两个问题,记录一下 1)windows桌面右键菜单-->显示设置或者个性化-->报错:ms-settings:personalization-backgrou ...
- 北京理工大学复试上机--2001B
1.请输入高度 h,输入一个高为 h,上底边长为 h的等腰梯形(例如 h=4,图形如下). **** ****** ******** ********** #include <ios ...
- Alpha冲刺——4.30
这个作业属于哪个课程 软件工程 这个作业要求在哪里 团队作业第五次--Alpha冲刺 这个作业的目标 Alpha冲刺 作业正文 正文 github链接 项目地址 其他参考文献 无 一.会议内容 1.规 ...
- jchdl - GSL实例 - LogicalLeft
https://mp.weixin.qq.com/s/WNm4bLWzZ0oWHWa7HQ6Y6w 逻辑左移,继承自Shifter类.只需要实现shift方法即可. 参考链接 https:// ...
- Java实现 洛谷 Car的旅行路线
输入输出样例 输入样例#1: 1 3 10 1 3 1 1 1 3 3 1 30 2 5 7 4 5 2 1 8 6 8 8 11 6 3 输出样例#1: 47.5 import java.util. ...