非修改性序列算法

该算法不改动容器中元素的次序,也不改动元素值。一般通过input迭代器和forward迭代器完成工作,可用于所有的标准容器。

一.for_each算法:for_each(iterator begin,iterator end,proc op)

该算法对区间[begin,end)中的每个元素调用进程op

①不修改元素

②修改元素

③使用其返回值:例如返回sum求和

二.元素计数

count(Iterator start,Iterator end,value)

count(Iterator start,Iterator end,Condition)

三.最大值最小值

最小值:

Iterator min_element(Iterator beg,Iterator end);

Iterator min_element(Iterator beg,Iterator end,comFunc op);

四.搜寻元素

1.搜寻第一个匹配元素

Iterator find(Iterator beg,Iterator end,value);

Iterator find_if(Iterator beg,Iterator end,value,ConditionFunc);

2.搜寻前n个连续匹配值

Iterator search_n(Iterator beg,Iterator end,Size count,value);返回连续count等于value的元素的起始位置

Iterator search_n(Iterator beg,Iterator end,Size count,value,BinaryPredicate op);返回连续count满足op的元素的起始位置

3.搜寻第一个子区间

Iterator search(Iterator1 beg,Iterator1 end,Iterator2 beg,Iterator2 end);iterator1原串,iterator子串

Iterator search(Iterator1 beg,Iterator1 end,Iterator2 beg,Iterator2 end,BinaryPredicate op);

4.搜寻最后一个子区间(类似于3)

Iterator find_end(Iterator1 beg,Iterator1 end,Iterator2 beg,Iterator2 end);iterator1原串,iterator子串

Iterator find_end(Iterator1 beg,Iterator1 end,Iterator2 beg,Iterator2 end,BinaryPredicate op);

5.搜寻某些元素的第一次出现位置(类似于search)

Iterator find_first_of(Iterator1 beg,Iterator1 end,Iterator2 beg,Iterator2 end);iterator1原串,iterator子串

Iterator find_first_of(Iterator1 beg,Iterator1 end,Iterator2 beg,Iterator2 end,BinaryPredicate op);

6.搜寻两个连续相等的元素(或者连续满足条件的)

Iterator adjacent_find(Iterator beg,Iterator end);

Iterator adjacent_find(Iterator beg,Iterator end,Predicate op);

Windows下安装GCC,G++

参考大佬:https://www.cnblogs.com/valor-xh/p/7371710.html

MinGw 是 Minimal GNU on Windows 的缩写,允许在 GNU/Linux 和 Windows 平台生成本地的 Windows 程序而不需要第三方运行时库。本文主要介绍 MinGw 的安装和使用。

(一)安装

1.下载 min-gw 安装程序,链接为:http://sourceforge.net/projects/mingw/files/,下载 Download mingw-get-setup.exe (86.5 kB)

2.运行 Download mingw-get-setup.exe (86.5 kB) ,点击”运行”,continue等,注意记住安装的目录,如 C:\MinGw,下面修改环境变量时还会用到。

3.修改环境变量:

选择计算机—属性—高级系统设置—环境变量,在系统变量中找到 Path 变量,在后面加入 min-gw的安装目录,如 C:\MinGw\bin

4.在开始菜单中,点击”运行”,输入 cmd,打开命令行:输入 mingw-get,如果弹出 MinGw installation manager 窗口,说明安装正常。此时,关闭 MinGw installation manager 窗口,否则接下来的步骤会报错

5.在cmd中输入命令 mingw-get install gcc,等待一会,gcc 就安装成功了。

如果想安装 g++,gdb,只要输入命令 mingw-get install g++ 和 mingw-get install gdb。

(二)使用

在 cmd 的当前工作目录写 C 程序 test.c:

# include <stdio.h>

int main()

VS调试技巧以及快捷键

一.调试技巧

跳过输值,在for循环结束的下一句设置断点,首先F5一步运行到断点处,然后F10逐过程运行但不进入内部函数,而F11逐语句会进入内部函数(fill,pop等函数也会进入);

二,快捷键

  1. ctrl+k+f:自动排版
  2. ctrl+x:删除(剪切)本行(光标放在本行任何一处)
  3. ctrl+c:复制本行(光标放在本行任何一处)
  4. ctrl+j:成员函数(变量)智能提示
  5. ctrl+f5:直接运行不调试
  6. f5:进入调试,运行到断点处停止
  7. f10:逐过程运行
  8. f11:逐语句运行
  9. f9:设置断点(一般直接在行首单击即可)

vs2008无法调试

无法进行逐过程调试(F10),并且提示堆栈溢出,即:

跳转到chkstk.asm文件
cs20:
sub eax, _PAGESIZE_ ; decrease by PAGESIZE

原因如下:

1.数组声明过大,可new解决;
2.运行库文件没装完全或者出错,可重装运行库文件 链接:https://pan.baidu.com/s/1smOzw5Z 密码:lnjs
3.vs安装用问题,可利用原安装文件进行修复或者重装

二分幂