目录

前言

一、全排列函数(重要)

1.对函数的介绍:

2.例题

3.思路及代码解析

二、反转函数

1.对函数的介绍

2.代码

3.执行结果:

三、填充替换函数

1.函数的介绍

2.代码演示

总结


前言

前两天再刷蓝桥杯题库的时候做到一道有思路但是因为用循环太复杂导致没写出来,后来看别人的题解的时候才知道原来要使用“全排列函数”,而我当时对这个函数没有一点影响了,所以我觉得我应该复习一些c++函数了,今天总结的是一些较为常见的数组函数。

一、全排列函数(重要)

1.对函数的介绍:

我个人的理解是:“它会把数组中元素的排列顺序都排列一遍后返回一个false,在此之前都返回的是true”,比如说一个数组{a,b,c},它会把{a,b,c},{a,c,b},{b,a,c},{b,c,a},{c,a,b},{c,b,a}都弄一遍。已知数组b[4]格式:next_permutation(b,b+4)

2.例题

7254是一个不寻常的数,因为它可以表示为7254 = 39 x 186,这个式子中1~9每个数字正好出现一次,输出所有这样的不同的式子(不能重复)结果小的先输出,结果相同的,较小的乘数较小的先输出。

3.思路及代码解析

首先命名一个包含一到九的数组,题目给的式子有三部分组成,经计算第一部分一定是一位四位数,所以有数组的前四个元素组成,二三部分就要分情况讨论了,可以是一个个位数成一个四位数,也可以二位数乘以一个三位数,所以需要分两次写,题头说1~9正好只出现一次,所以这是一道数字排列问题,满足式子条件就输出,考的就是“全排列函数”,代码如下:

#include <iostream>
#include <algorithm>
using namespace std;int main() {int a[9] = {1, 2, 3, 4, 5, 6, 7, 8, 9};do {int sum = a[0] * 1000 + a[1] * 100 + a[2] * 10 + a[3];int x = a[4];int y = a[5] * 1000 + a[6] * 100 + a[7] * 10 + a[8];int x1 = a[4] * 10 + a[5];int y1 = a[6] * 100 + a[7] * 10 + a[8];if (num == x * y) {cout << num << " = " << x << " x " << y << endl;} else if (num == x1 * y1) {cout << num << " = " << x1 << " x " << y1 << endl;}} while (next_permutation(a, a + 9));return 0;
}

二、反转函数

1.对函数的介绍

反转函数就是头对尾逐渐向里的元素交换,比如数组{1,4,2,5,8,4},用反转数组后就是{4,8,5,2,4,1}

已知数组b[4]格式:reverse(b,b+4)

2.代码

#include <iostream>
#include <algorithm>
using namespace std;int main() {char b[8] = {'a', 'n', 'v', 'd', 'g', 'e', 'p'};reverse(b, b + 7);puts(b);return 0;
}

3.执行结果:

这里注意命名char[]时,要比元素大一位,因为末端需要以"\0"结尾,如是

char b[7] = {'a', 'n', 'v', 'd', 'g', 'e', 'p'};

就会出现如下乱码

三、填充替换函数

1.函数的介绍

已知数组b[7],fill(b,b+7,1)可以把数组b全部都填充为1,replace(b,b+7,1,2)可以把b数组的所有元素替换为2。

2.代码演示

#include <iostream>
#include <algorithm>
using namespace std;int main() {int b[7];fill(b, b + 7, 1);for (int i = 0; i < 7; i++) {cout << b[i];}return 0;
}

执行结果:

在上面加入这行代码 replace(b, b + 7, 1, 2);

执行结果:


总结

这些常用的函数需要我们记住并且会用,多次使用才能记得更加牢固,最后,祝大家假期节日快乐!

【c++的一些常用数组函数】相关推荐

  1. php常用的数组函数及功能,PHP 常用数组函数 (1)

    PHP 常用数组函数 (1) 1,array_fill(index,number,value) 用值填充数组 参数说明: index: 被返回数组的第一个索引值 number: 规定要插入的元素的个数 ...

  2. php数组实例,php常用数组函数实例小结

    本文实例总结了php常用数组函数.分享给大家供大家参考,具体如下: 1. array array_merge(array $array1 [, array $array2 [, $array]]) 函 ...

  3. PHP中常用的定义数组的函数是,php常用数组函数总结

    php常用数组函数总结 博主:renpengddxx 发表时间:2017-02-19 13:15:37 浏览量:151 1.array_values() 传入给定数组,返回一个给定数组中所有值的数组, ...

  4. php常用数组函数总结

    数组函数 1.array_key_change_case($arr,$case):将数组所有的键转化为大写或者小写,$case可设为CASE_LOWER或者CASE_UPPER. 2.array_ch ...

  5. PHP常用数组函数、字符串函数、正则函数

    数组函数: 1.键值操作类:[都有返回值,没有在原来参数上修改] 1.array_values($arr);//获取$arr中的值重排,去掉下标[返回值新索引数组] 2.array_keys($arr ...

  6. 跟燕十八学习PHP-第十三天-常用数组函数讲解

    /**  燕十八 公益PHP培训  课堂地址:YY频道88354001  学习社区:www.zixue.it  **/ <?php // 数组函数讲解 /* count 函数 作用:计算数组的单 ...

  7. 以array开头的php函数,PHP 常用数组函数详解

    在php100看到的这篇文章,文章讲解的很实用,觉得不错,转到博客,算是备忘吧. php 数组是 php 语言中一个重要的组成部分,其中相关函数至少有30多个,能够熟练的使用数组.数据库存储数据将会对 ...

  8. JavaScript 常用数组函数方法专题

    1. 由字符串生成数组 split() 分割字符串,并将分割的部分作为一个元素保存在一个新建的数组中. var str1 = "this is an emample to using the ...

  9. javascript中常用数组函数

    1.split方法--通过分隔符,将字符串分割,导出字符数组 常用于:分割IP地址,分割文件路径(上传文件时)等等 <!DOCTYPE html PUBLIC "-//W3C//DTD ...

最新文章

  1. 苹果笔记本只有电源键能用的解决办法
  2. Linux C: 为什么C都必须有一个main函数
  3. 数据结构与算法之堆排序
  4. Java修炼之路——基础篇——String
  5. 104. 二叉树的最大深度【LeetCode】
  6. mysql查询自定义数据_实现自定义查询的数据库设计及实现(一)
  7. 网信办:今年3月全国受理网络违法和不良信息举报1258.6万件
  8. 只用两个函数实现事务的设计模式!
  9. mysql集群之MHA简单搭建
  10. 在线GIF图片帧拆分工具
  11. 请教各位前辈一个问题。
  12. JavaSE基础———正则表达式、Date类SimpleDateFormat类和Calender类
  13. Winform程序在VS中打包成安装程序(带卸载)
  14. 全年CCF级别会议列表
  15. matlab中fft与fftshift,在matlab中使用fft,ifft和fftshift
  16. ipersistfile save 失败 错误代码“0x80070005” 拒绝访问的解决办法
  17. matlab解薛定谔方程,定态薛定谔方程的MATLAB求解(一).doc
  18. 基于MATLAB的极限与求导(附完整代码)
  19. 【EI会议征稿】山西财经大学主办!往届全部成功检索!机器学习、大数据与商务智能征稿中!...
  20. 手机qq邮箱html,手机QQ邮箱在哪里找

热门文章

  1. 电脑桌面图标全部变成Word图标?
  2. Hive解析Json格式用户日志
  3. 最新星座运势运程算命程序源码/公众号版+授权Token
  4. Mac双系统切换及设置技巧
  5. 设计模式java培训_java的十种设计模式
  6. 主成分与因子分析异同_如何做主成分分析和因子分析?它们的区别与联系在哪里?...
  7. Python Tut_from freeCodeCamp.org (4)
  8. 虚拟机VMware连接不上网络解决方案
  9. labelme标注的json标签转txt格式
  10. 程序员版“我不是药神”:求求领导,别再追查假简历了