第9讲 位运算与常用库函数

本文由用户“阳光照射角落5”分享发布 更新时间:2021-05-01 05:30:16 举报文档

以下为《第9讲 位运算与常用库函数》的无排版文字预览,完整格式请下载

下载前请仔细阅读文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。

第九章 位运算与常用库函数

C++帮我们实现好了很多有用的函数,我们要避免重复造轮子。

——闫学灿

位运算

& 与

| 或

~ 非

^ 异或

>> 右移

> k & 1

lowbit(x) = x & -x,返回x的最后一位1

常用库函数、

reverse 翻转

翻转一个vector:

reverse(a.begin(), a.end());

翻转一个数组,元素存放在下标1~n:

reverse(a + 1, a + 1 + n);

unique 去重

返回去重之后的尾迭代器(或指针),仍然为前闭后开,即这个迭代器是去重之后末尾元素的下一个位置。该函数常用于离散化,利用迭代器(或指针)的减法,可计算出去重后的元素个数。

把一个vector去重:

int m = unique(a.begin(), a.end()) – a.begin( 内容过长,仅展示头部和尾部部分文字预览,全文请查看图片预览。 < b.x || a.x == b.x && a.y < b.y;

}

sort(a.begin(), a.end());

lower_bound/upper_bound 二分

lower_bound 的第三个参数传入一个元素x,在两个迭代器(指针)指定的部分上执行二分查找,返回指向第一个大于等于x的元素的位置的迭代器(指针)。

upper_bound 的用法和lower_bound大致相同,唯一的区别是查找第一个大于x的元素。当然,两个迭代器(指针)指定的部分应该是提前排好序的。

在有序int数组(元素存放在下标1~n)中查找大于等于x的最小整数的下标:

int I = lower_bound(a + 1, a + 1 + n,. x) – a;

在有序vector 中查找小于等于x的最大整数(假设一定存在):

int y = *--upper_bound(a.begin(), a.end(), x);

[文章尾部最后300字内容到此结束,中间部分内容请查看底下的图片预览]请点击下方选择您需要的文档下载。

  1. 论文写作中“量和单位”的规范表达
  2. 教育行业解决方案
  3. Stm32寄存器与库函数概览(摘自固件库使用手册)
  4. 六年级下英语试题-小升初专题总复习 第三部分词汇 代词——人称代词、物主代词、反身代词 全国通用(无
  5. 把CAD做的图添加到Word中的方法
  6. 疫情教学作文
  7. 英语周末练习
  8. 壹课空灵ppt模板 (20)
  9. 蓝色墨迹PPT模板
  10. 阿甘正传英文观后感范文5篇
  11. U3T1 SA王静
  12. +++罗兰贝格PPT模板-436页(绝对经典!)
  13. 示例文献
  14. 外部消防栓系统
  15. 基础面试题
  16. 教学课件unit9Can-you-come-to-my-party-sectionA
  17. 2014人教版八年级上册英语unit6SectionA(1a-1c)课件
  18. 八年级上册英语unit6课件
  19. A--Unit 9 知识点 课时练习(无答案)
  20. 个人简历ppt模板

以上为《第9讲 位运算与常用库函数》的无排版文字预览,完整格式请下载

下载前请仔细阅读上面文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。

图片预览