fill,fill-n,memset的区别
2024-08-31 15:36:38
这里在网上搜集归纳了一个总结
- memset函数
- 按照字节填充某字符
- 在头文件
<string。h>中
- 因为memset函数按照字节填充,所以一般memset只能用来填充char型数组,(因为只有char型占一个字节)如果填充int型数组,除了0和-1,其他的不能。因为只有00000000 = 0,-1同理,如果我们把每一位都填充“1”,会导致变成填充入“11111111”
- 例如
int a[20];
memset(a, 0, sizeof a);
- fill-n 函数
fill_n函数的作用是:给你一个起始点,然后再给你一个数值count和val。把从起始点开始依次赋予count个元素val的值。
注意: 不能在没有元素的空容器上调用fill_n函数
例题:给你n个数,然后输入一些操作:start,count,paint。表示从start开始连续填充count个数字,paint为填充的数值。
- fill 函数
- 按照单元赋值,将一个区间的元素都赋同一个值
- 在头文件
<algorithm>
里面 - fill函数可以赋值任何,而且使用方法特别简便
- fill(arr, arr + n, 要填入的内容)
例如:
int arr[10];
fill(arr,
arr + 10, 2)
- vector
在c++中,vector是一个十分有用的容器,下面对这个容器做一下总结。
1 基本操作
(1)头文件#include<vector>.
(2)创建vector对象,vector<int> vec;
(3)尾部插入数字:vec.push_back(a);
(4)使用下标访问元素,cout<<vec[0]<<endl;记住下标是从0开始的。
(5)使用迭代器访问元素.
vector<int>::iterator it;
for(it=vec.begin();it!=vec.end();it++)
cout<<*it<<endl;
(6)插入元素: vec.insert(vec.begin()+i,a);在第i+1个元素前面插入a;
(7)删除元素: vec.erase(vec.begin()+2);删除第3个元素
vec.erase(vec.begin()+i,vec.end()+j);删除区间[i,j-1];区间从0开始
(8)向量大小:vec.size();
(9)清空:vec.clear();
vector<int> myvector (8,10); // myvector: 10 10 10 10 10 10 10 10
fill_n (myvector.begin(),4,20); // myvector: 20 20 20 20 10 10 10 10
fill_n (myvector.begin()+3,3,33); // myvector: 20 20 20 33 33 33 10 10
vector<int> v{0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
fill(v.begin(), v.end(), -1);
最新文章
- js获取当前日期
- 简单的XML操作类
- 深入理解FTP协议
- 用Perl编写Apache模块续 - SVNAuth
- [HihoCoder] Highway 高速公路问题
- 【原】C# decimal字符串转成整数
- Entity Framework (二) 查询
- C++ 派生类到基类转换的可访问性
- redis 写入的时候报错
- Python---老王开枪
- 机器学习之决策树二-C4.5原理与代码实现
- 【原创】大叔经验分享(10)Could not transfer artifact org.apache.maven:maven. from/to central. Received fatal alert: protocol_version
- Typescript 学习笔记五:类
- (1.9)SQL优化——mysql导入导出优化
- 一些被提问频率最高的12个php面试题,以及对应的常规回答。
- 【转】mysql交互式连接&;非交互式连接
- cmd 概览---- 转
- 区块链blockchina简述
- iOS UTI(统一类型标识)
- [LeetCode] 176. Second Highest Salary_Easy tag: SQL
热门文章
- 上传文件时文件类型限制 <;input id=";File1"; type=";file"; accept=";";/>;
- 新疆大学(新大)OJ xju 1009: 一带一路 prim求最短路径+O(n)素数筛选
- 「JavaSE 重新出发」01. Java介绍
- 8年js总结
- UVa 12545 Bits Equalizer【贪心】
- Python 曲线拟合
- 用AI识别内部人威胁面临的道德规范
- Intellij IDEA 2018.3激活破解方法(解决key is invalid)
- vue 所有的路由跳转加一个统一参数
- javascript的var声明变量和不用var声明变量在全局作用域的区别;