博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
STL algorithmi算法s_sorted和is_sorted_until(28)
阅读量:5074 次
发布时间:2019-06-12

本文共 2443 字,大约阅读时间需要 8 分钟。

is_sort原型:

::is_sorted

default (1)
template 
bool is_sorted (ForwardIterator first, ForwardIterator last);
custom (2)
template 
bool is_sorted (ForwardIterator first, ForwardIterator last, Compare comp);
该函数是測试范围内的元素是否已经有序!

使用operator<或者comp来进行比較。

假设范围内的元素个数少于两个,总是返回true.

其行为类似例如以下:

123456789101112
template 
bool is_sorted (ForwardIterator first, ForwardIterator last){ if (first==last) return true; ForwardIterator next = first; while (++next!=last) { if (*next<*first) // or, if (comp(*next,*first)) for version (2) return false; ++first; } return true;}
一个简单的測试样例:

#include 
#include
#include
using namespace std;int main(int argv,char **argc){ vector
v1{1,2,3,4}; vector
v2{4.0,5.0,3.5,6.0}; cout<<"v1="; for(int i:v1) cout<
<<" "; cout<
执行结果:

is_sorted_until原型:

std::is_sorted_until

default (1)
template 
ForwardIterator is_sorted_until (ForwardIterator first, ForwardIterator last);
custom (2)
template 
ForwardIterator is_sorted_until (ForwardIterator first, ForwardIterator last, Compare comp);
该函数类似与is_heap和is_heap_until的关系。

返回第一个破坏序列有序的元素迭代器。

使用operator<或者comp来进行比較。

其行为类似与:
234567891011
template 
ForwardIterator is_sorted_until (ForwardIterator first, ForwardIterator last){ if (first==last) return first; ForwardIterator next = first; while (++next!=last) { if (*next<*first) return next; ++first; } return last;}

一个简单的样例:

#include 
#include
#include
using namespace std;int main(int argv,char **argc){ vector
v1{1,2,3,4,5}; vector
v2{4.0,5.0,3.5,6.0,1.0}; cout<<"v1="; for(int i:v1) cout<
<<" "; cout<
执行截图:

通过对照源码能够知道,第一个返回的是v1.end(),第二个返回的则是3.5!

——————————————————————————————————————————————————————————————————

//写的错误或者不好的地方请多多指导,能够在以下留言或者点击左上方邮件地址给我发邮件,指出我的错误以及不足,以便我改动,更好的分享给大家,谢谢。

转载请注明出处:http://blog.csdn.net/qq844352155

author:天下无双

Email:coderguang@gmail.com

2014-9-17

于GDUT

——————————————————————————————————————————————————————————————————

版权声明:本文博客原创文章,博客,未经同意,不得转载。

转载于:https://www.cnblogs.com/mfrbuaa/p/4603946.html

你可能感兴趣的文章
thinkphp5 csv格式导入导出(多数据处理)
查看>>
PHP上传RAR压缩包并解压目录
查看>>
Codeforces 719B Anatoly and Cockroaches
查看>>
jenkins常用插件汇总
查看>>
c# 泛型+反射
查看>>
第九章 前后查找
查看>>
Python学习资料
查看>>
jQuery 自定义函数
查看>>
jquery datagrid 后台获取datatable处理成正确的json字符串
查看>>
ActiveMQ与spring整合
查看>>
web服务器
查看>>
网卡流量检测.py
查看>>
poj1981 Circle and Points 单位圆覆盖问题
查看>>
POP的Stroke动画
查看>>
SQL语句在查询分析器中可以执行,代码中不能执行
查看>>
yii 1.x 添加 rules 验证url数组
查看>>
html+css 布局篇
查看>>
SQL优化
查看>>
用C语言操纵Mysql
查看>>
轻松学MVC4.0–6 MVC的执行流程
查看>>