C++ STL(28):逻辑运算(逻辑与、逻辑或、逻辑非)
#include <iostream>
#include <functional>
#include <algorithm>
#include <iterator>
#include <deque>
#include <vector>//逻辑运算
int main()
{/************************************************************************///logical_and:逻辑与/*template<class Type>struct logical_and : public binary_function<Type, Type, bool>{bool operator()(const Type& _Left,const Type& _Right) const;};*//************************************************************************/std::deque<bool> db1;decltype(db1) db2, db3;std::vector<int> iv1;decltype(iv1) iv2;std::generate_n(std::back_inserter(iv1), 10, []{return rand() % 10; });std::generate_n(std::back_inserter(iv2), 10, []{return rand() % 10; });for (auto each : iv1)db1.push_back((bool)(each % 2 == 0)); //尾插法for (auto each : iv2)db2.push_front((bool)(each % 2 == 0)); //头插法std::cout << "db1: ";//db1: 0 0 1 1 0 1 1 1 1 1std::copy(db1.begin(), db1.end(), std::ostream_iterator<bool>(std::cout, " "));std::cout << std::endl;std::cout << "db2: ";//db2: 1 0 1 0 0 0 0 0 0 0std::copy(db2.begin(), db2.end(), std::ostream_iterator<bool>(std::cout, " "));std::cout << std::endl;std::cout << "logical_and: "; //logical_and: 0 0 1 0 0 0 0 0 0 0std::transform(db1.begin(), db1.end(), db2.begin(), std::back_inserter(db3), std::logical_and<bool>());//0 0 1 0 0 0 0 0 0 0std::copy(db3.begin(), db3.end(), std::ostream_iterator<bool>(std::cout, " "));std::cout << std::endl;/************************************************************************///logical_or:逻辑或/*template<class Type>struct logical_or : public binary_function<Type, Type, bool>{bool operator()(const Type& _Left,const Type& _Right) const;};*//************************************************************************/db3.clear();std::cout << "logical_or: ";//logical_or: 1 0 1 1 0 1 1 1 1 1std::transform(db1.begin(), db1.end(), db2.begin(), std::back_inserter(db3), std::logical_or<bool>());std::copy(db3.begin(), db3.end(), std::ostream_iterator<bool>(std::cout, " "));std::cout << std::endl;/************************************************************************///logical_not:逻辑非/*template<class Type>struct logical_not : public unary_function<Type, bool>{bool operator()(const Type& _Left) const;};*//************************************************************************/db3.clear();std::cout << "logical_not: "; //logical_not: 1 1 0 0 1 0 0 0 0 0std::transform(db1.begin(), db1.end(), std::back_inserter(db3), std::logical_not<bool>());std::copy(db3.begin(), db3.end(), std::ostream_iterator<bool>(std::cout, " "));std::cout << std::endl;return 0;
}
====================打个广告,欢迎关注====================
QQ: |
412425870 |
微信公众号:Cay课堂 |
|
csdn博客: |
http://blog.csdn.net/caychen |
码云: |
https://gitee.com/caychen/ |
github: |
https://github.com/caychen |
点击群号或者扫描二维码即可加入QQ群: 328243383(1群) |
|
点击群号或者扫描二维码即可加入QQ群: 180479701(2群) |
C++ STL(28):逻辑运算(逻辑与、逻辑或、逻辑非)相关推荐
- 多变量逻辑回归python_Python实现逻辑回归(Logistic Regression in Python)
本文基于yhat上Logistic Regression in Python,作了中文翻译,并相应补充了一些内容.本文并不研究逻辑回归具体算法实现,而是使用了一些算法库,旨在帮助需要用Python来做 ...
- mysql 逻辑备份 物理备份_数据库的逻辑备份和物理备份--非RMAN
数据库的逻辑备份和物理备份--非RMAN,不用借助其他工具,只要归档日志和物理备份就可以实现的备份 数据库的备份和恢复 常规而且重要,恢复得到理想状态 逻辑备份 利用EXP备份,从数据库提取写入操作系 ...
- [转载] 吴恩达机器学习逻辑回归练习题:逻辑回归及规则化(python实现)
参考链接: 了解逻辑回归 Python实现 练习题背景:网易云课堂->吴恩达机器学习课程->逻辑回归练习题 对于练习题的详细内容,和课程中推荐的octave编程实现,请见:吴恩达机器学习逻 ...
- 同步时序逻辑与异步时序逻辑
同步时序逻辑: 是指表示状态的寄存器组的值只可能在唯一确定的触发条件发生时刻改变.只能由时钟的正跳沿或负跳沿触发的状态机就是一例. always @(posedge clock) 就是一个同步时序逻辑 ...
- 逻辑回归阈值_逻辑回归算法
(一)逻辑回归原理 1.整体概括 逻辑回归假设数据服从伯努利分布(0-1分布),通过极大似然函数的方法,运用梯度下降法来求解参数,来达到将数据二分类的目的. 2.灵感过程(来自B站UP主:文小刀是也) ...
- 【web实战-业务逻辑】评论点赞逻辑
前言: 介绍: 博主:网络安全领域狂热爱好者(承诺在CSDN永久无偿分享文章). 殊荣:CSDN网络安全领域优质创作者,2022年双十一业务安全保卫战-某厂第一名,某厂特邀数字业务安全研究员,edus ...
- 第一章 c语言概述程序逻辑,第一章 程序逻辑与C语言概述
1.第一章 程序逻辑与C语言概述,1.1 C语言概述1.2 程序和程序逻辑,第一章 程序逻辑与C语言概述,1.1 C语言概述,[学习目标]了解C语言工作机制掌握C语言程序的的基本构成了解C语言程序的编 ...
- R语言的逻辑与、逻辑或和元素逻辑与、元素逻辑或的区别
版权声明:转载请注明作者(独孤尚良dugushangliang)出处:https://blog.csdn.net/dugushangliang/article/details/116463648 参阅 ...
- dev c++怎么设置断点_斑马进度计划软件可以检查计划中是否存在逻辑断点和错误逻辑关系...
可以通过斑马进度计划软件的[计划云检查]和[国际检查]功能检查计划中是否存在逻辑断点和错误逻辑关系. 计划云检查 打分标准: ①关键线路 得分标准:(关键路径所占时间跨度/整个项目时间跨度)*20 ② ...
- 计算机科学中的逻辑运用,浅谈逻辑在计算机科学中的应用
摘 要:本文阐述了逻辑与计算.计算机的起源.程序设计之间的相互关系,并在一阶逻辑的基础上,以LISP.PROLOG等为例,给出了逻辑在程序设计语言和逻辑程序设计中的应用,以此说明计算机科学是逻辑的超大 ...
最新文章
- 深度学习中的优化算法之BGD
- 【高并发】面试官:说说缓存最关心的问题?有哪些类型?回收策略和算法?...
- arduino实例1:led闪烁
- 设计模式-建造者模式(转自:http://www.cnblogs.com/cbf4life/archive/2010/01/14/1647710.html)...
- 对角矩阵和类下三角矩阵的频率和质量数据比较
- spring-retry----线程内重试
- sql 中的导航函数 FIRST_VALUE, LAST_VALUE
- 区块链BaaS云服务(11)招商银行ABS区块链平台
- 计算机硬件基础大纲,计算机硬件技术基础大纲_.doc
- C语言实现卡塔兰数catalan(附完整源码)
- axure 小程序 lib_详细揭秘微信小程序框架技术——Mpx
- oracle非常量不能用于privot_Oracle 行列转换函数pivot、unpivot的使用(二)
- tomcat安装配置教程
- matlab多目标遗传算法工具箱,运用MATLAB遗传算法工具箱求解非线性多目标优化问题,...
- tecplot 360 2018 R1 R2安装教程及软件百度云
- C语言链表详解(通俗易懂)
- 二元一次方程,且求共轭复根2020.11.17
- flutter ListView.separated 带分割线
- 告别手敲template,自动生成基础模板(Vue)
- ubuntu16.04安装Preempt RT实时内核
热门文章
- java基础2.5(集合)
- 安卓系统 自动运行脚本
- SSM毕设项目基于java的服装店管理平台h254j(java+VUE+Mybatis+Maven+Mysql)
- 螳螂有6条腿C语言,昆虫都是6条腿吗?难道6条腿就比4条腿好使?
- 90后薪酬数据观察:且穷且怂且认真地活着
- 第一章 Borland的诞生和发展
- Java学习——常用类(API)
- 显示桌面图标放到任务栏
- 关于MAAS的一些思考
- 微软专业讲师教程(mcse 2003 server)下载(经典视频学习教材)e