0.时刻提醒自己

Note: vector的释放

1.is_sorted

1.1 功能

检查 [first, last) 中的元素是否以不降序排序

1.2 异常

若算法无法分配内存,则抛出 std::bad_alloc

1.3 返回值

若范围中的元素已按不降序排序则为 true,否则,返回false

1.4 代码用法

// 期末成绩
int score[] = {99, 77, 30, 80, 90, 20}; // 1.排序前结果
std::cout << "排序前结果:";
for_each(std::begin(score), std::end(score), [](const int& item) {std::cout << item << " "; });
std::cout << " : is_sorted: " << std::boolalpha << std::is_sorted(std::begin(score), std::end(score)) << '\n'; // 2.执行排序
std::sort(std::begin(score), std::end(score)); // 3.排序后结果
std::cout << "排序后结果:";
for_each(std::begin(score), std::end(score), [](const int& item) {std::cout << item << " "; });
std::cout << " : is_sorted: " << std::boolalpha << std::is_sorted(std::begin(score), std::end(score)) << '\n';

1.5 输出结果

2. is_sorted_until

2.1 功能

检验范围 [first, last) ,并寻找始于 first 且其中元素已以不降序排序的最大范围。

2.2 异常

若算法无法分配内存,则抛出 std::bad_alloc

2.3 返回值

始于 first 且其中元素已以升序排序的最大范围。即满足范围 [first, it) 已排序的最后迭代器 it 。

2.4 Note

std::is_sorted_until 对空范围及长为 1 的范围均返回 last 。

2.5 用法

// 期末成绩
int score[] = {99, 77, 30, 80};
std::cout << "排序前:"; // 1.找到第一个没有按升序排列的元素
auto it = std::is_sorted_until(std::begin(score), std::end(score));
if (std::end(score) != it)
std::cout << "第一个没有升序排列的元素是:" << *it << std::endl;
else
std::cout << "数组元素全部按照升序排序\n"; // 2.执行排序
std::sort(std::begin(score), std::end(score)); // 3.再次核查数组排序情况
std::cout << "排序后:"; auto it_find = std::is_sorted_until(std::begin(score), std::end(score));
if (std::end(score) != it_find)
std::cout << "第一个没有升序排列的元素是:" << *it_find << std::endl;
else
std::cout << "数组元素全部按照升序排序\n";

2.6 输出结果

最新文章

  1. 用Retrofit发送请求中添加身份验证
  2. jquery动态添加的html,第三方插件无法生效的情况
  3. 常用API——日期型函数Date
  4. 关于placeholder中 文字添加换行 用转义字符&amp;#13;&amp;#10;代替&lt;br&gt;
  5. myeclipse优化
  6. iOS开发小技巧--利用MJExtension解决数据结构复杂的模型转换
  7. iOS10 UI设计基础教程
  8. Cygwin下载,安装教程
  9. Spring Data JPA教程, 第五部分: Querydsl(未翻译)
  10. sqrt和Hailstone
  11. ASP.NET实现年月日三级联动(局部刷新)
  12. Umbraco Content属性
  13. RESTful架构2--架构详解
  14. HDU 4010 Query on The Trees
  15. sql server 性能调优之 死锁排查
  16. spark2.4.0+hadoop2.8.3全分布式集群搭建
  17. MySQL插入更新_ON DUPLICATE KEY UPDATE
  18. Java中主类中定义方法加static和不加static的区别
  19. 20165336 2017-2018-2 《Java程序设计》第7周学习总结
  20. Codeforces Round #425 (Div. 2) Problem B Petya and Exam (Codeforces 832B) - 暴力

热门文章

  1. Nginx 动态增加扩展
  2. 日常Java 2021/11/9
  3. Hive(三)【DDL 数据定义】
  4. Ecshop 后台导出订单Excel时, 内存溢出的解决方法
  5. 用usb线配置直流电机驱动器不能配置成功
  6. 生成接口文档并同步到postman
  7. MyBatis(3):优化MyBatis配置文件
  8. 【编程思想】【设计模式】【创建模式creational】抽象工厂模式abstract_factory
  9. vue实现input输入框的模糊查询
  10. Cnblog博客美化