C++算法库学习__std::sort__对 vector进行排序_排序后就可以进行使用std::lower_bound进行二分查找(查找第一个大于等于指定值的迭代器的位置)__std::unique
std::sort 对vector成员进行排序;
将排序的vector
- // random generator function:
- ptrdiff_t myrandom (ptrdiff_t i) { return rand()%i;}
- // pointer object to it:
- ptrdiff_t (*p_myrandom)(ptrdiff_t) = myrandom;


- // binary_search example
- #include <iostream>
- #include <algorithm>
- #include <vector>
- using namespace std;
- bool myfunction (int i,int j) { return (i<j); }
- int main () {
- int myints[] = {1,2,3,4,5,4,3,2,1};
- vector<int> v(myints,myints+9); // 1 2 3 4 5 4 3 2 1
- // using default comparison:
- sort (v.begin(), v.end());
- cout << "looking for a 3... ";
- if (binary_search (v.begin(), v.end(), 3))
- cout << "found!\n"; else cout << "not found.\n";
- // using myfunction as comp:
- sort (v.begin(), v.end(), myfunction);
- cout << "looking for a 6... ";
- if (binary_search (v.begin(), v.end(), 6, myfunction))
- cout << "found!\n"; else cout << "not found.\n";
- return 0;
- }
std::random_shuffle将指定的迭代器区间的内容随机打散:
- // random_shuffle example
- #include <iostream>
- #include <algorithm>
- #include <functional>
- #include <vector>
- #include <ctime>
- #include <cstdlib>
- using namespace std;
- // random generator function:
- ptrdiff_t myrandom (ptrdiff_t i) { return rand()%i;}
- // pointer object to it:
- ptrdiff_t (*p_myrandom)(ptrdiff_t) = myrandom;
- int main () {
- srand ( unsigned ( time (NULL) ) );
- vector<int> myvector;
- vector<int>::iterator it;
- // set some values:
- for (int i=1; i<10; ++i) myvector.push_back(i); // 1 2 3 4 5 6 7 8 9
- // using built-in random generator:
- random_shuffle ( myvector.begin(), myvector.end() );
- // using myrandom:
- random_shuffle ( myvector.begin(), myvector.end(), p_myrandom);
- // print out content:
- cout << "myvector contains:";
- for (it=myvector.begin(); it!=myvector.end(); ++it)
- cout << " " << *it;
- cout << endl;
- return 0;
- }
C++算法库学习__std::sort__对 vector进行排序_排序后就可以进行使用std::lower_bound进行二分查找(查找第一个大于等于指定值的迭代器的位置)__std::unique的更多相关文章
- mahout算法库(四)
mahout算法库 分为三大块 1.聚类算法 2.协同过滤算法(一般用于推荐) 协同过滤算法也可以称为推荐算法!!! 3.分类算法 算法类 算法名 中文名 分类算法 Log ...
- C++ algorithm算法库
C++ algorithm算法库 Xun 标准模板库(STL)中定义了很多的常用算法,这些算法主要定义在<algorithm>中.编程时,只需要在文件中加入#include<algo ...
- 安装Python算法库
安装Python算法库 主要包括用NumPy和SciPy来处理数据,用Matplotlib来实现数据可视化.为了适应处理大规模数据的需求,python在此基础上开发了Scikit-Learn机器学习算 ...
- scikit-learn 线性回归算法库小结
scikit-learn对于线性回归提供了比较多的类库,这些类库都可以用来做线性回归分析,本文就对这些类库的使用做一个总结,重点讲述这些线性回归算法库的不同和各自的使用场景. 线性回归的目的是要得到输 ...
- dlib库学习之一
dlib库学习之一 1.介绍 跨平台 C++ 通用库 Dlib 发布 ,带来了一些新特性,包括概率 CKY 解析器,使用批量同步并行计算模型来创建应用的工具,新增两个聚合算法:中国低语 (Chines ...
- muduo网络库学习笔记(四) 通过eventfd实现的事件通知机制
目录 muduo网络库学习笔记(四) 通过eventfd实现的事件通知机制 eventfd的使用 eventfd系统函数 使用示例 EventLoop对eventfd的封装 工作时序 runInLoo ...
- muduo网络库学习笔记(三)TimerQueue定时器队列
目录 muduo网络库学习笔记(三)TimerQueue定时器队列 Linux中的时间函数 timerfd简单使用介绍 timerfd示例 muduo中对timerfd的封装 TimerQueue的结 ...
- Effective STL 学习笔记: 多用 vector & string
Effective STL 学习笔记: 多用 vector & string 如果可能的话, 尽量避免自己去写动态分配的数组,转而使用 vector 和 string . 原书作者唯一想到的一 ...
- GDI+学习笔记(九)带插件的排序算法演示器(MFC中的GDI+实例)
带插件的排序算法演示器 请尊重本人的工作成果,转载请留言.并说明转载地址,谢谢. 地址例如以下: http://blog.csdn.net/fukainankai/article/details/27 ...
随机推荐
- jq 常用手册
1.替换标签 $("img[src='/_layouts/images/lstbulet.gif']").attr("src", "/huadong/ ...
- 修改mysql root密码
mysql密码丢失后,在mysql命令行下执行如下命令,即可将root用户密码清空: mysqld_safe --skip-grant-tables& mysql修改密码 mysql修改,可在 ...
- Codeforces Round #240 (Div. 1) B. Mashmokh and ACM DP
B. Mashmokh and ACM ...
- springMVC之异常处理
1. 自己定义一个异常类: UserException.java public class UserException extends RuntimeException { private stati ...
- 蓝桥 ADV-233 算法提高 队列操作 【STL】
算法提高 队列操作 时间限制:1.0s 内存限制:256.0MB 问题描述 队列操作题.根据输入的操作命令,操作队列(1)入队.(2)出队并输出.(3)计算队中元素个数并输出. ...
- VIDIOC_S_INPUT 作用 (转载)
转载:http://blog.csdn.net/kickxxx/article/details/7088658 G_INPUT和S_INPUT用来查询和选则当前的input 一个video设备节点可能 ...
- Objective-C 声明属性
创建: 2018/01/24 完成: 2018/01/25 遗留: TODO 声明属性(declared property) 属性的声明与功能 属性的声明 @property 读写 @proper ...
- Avito Code Challenge 2018 A~E
A. Antipalindrome 还以为是什么神dp结果就是分情况讨论啊 原串是一串一样的字符的话输出0,是回文串的话输出n-1,否则直接输出原串长度 #include<iostream> ...
- 爬虫—Selenium使用
Selenium使用 Selenium是一个自动化测试工具,可以驱动浏览器器执行特定的动作,如点击,下拉等.同时还可以获取浏览器当前呈现页面的源代码,可见即可爬. 1.准备 我们使用谷歌Chrome浏 ...
- Unity项目 - Boids集群模拟算法
1987年Craig W.Reynolds发表一篇名为<鸟群.牧群.鱼群:分布式行为模式>的论文,描述了一种非常简单的.以面向对象思维模拟群体类行为的方法,称之为 Boids ,Boids ...