头文件:
void *memset(void *s,int c,unsigned long n);
为指针变量s所指的前n个字节的内存单元填充给定的int型数值c
如:
int a[10];
memset(a,0,sizeof(a)); //将数组a中的数全部赋值为0
(1)对于数组:
sort(a,a+length);//默认升序
sort(a,a+length,greater<int>())//从大到小排序
sort(a,a+length,cmp);//cmp是自己编写的函数
bool cmp(int x,int y){
return x>y;
}
(2)对于容器
sort(v.begin(),v.end());//默认升序
sort(v.begin,v.end(),greater<int>());//降序排序
sort(v.begin,v.end(),cmp);//使用自定义的函数排序,和上面的类似
#include
//前两个参数是累加的元素范围 第三个参数是累加和的初值
int sum = accumulate(vec.begin() , vec.end() , 42);
//target为目标值
vector<int>::iterator result = find(vec.begin(), vec.end(), target);
if(result == vec.end()){
//不存在
}else{
//存在
}
参考:
Min_element和Max_element函数
用于查找数组或容器的最值
返回迭代器,若要知道位置,则需减去起始位置
#include
#include // 函数头文件
using namespace std;
int main(){
//数组
int a[3] = {3, 1, 2};
cout << "元素内最大值的位置为: " << max_element(a, a + 3) - a << endl;
cout << "元素内最大值的值为: " << * max_element(a, a + 3) << endl;
cout << "元素内最小值的位置为: " << min_element(a, a + 3) - a << endl;
cout << "元素内最小值的值为: " << * min_element(a, a + 3) << endl;
//字符串
string s = "312";
cout << "元素内最大值的位置为: " << max_element(s.begin(), s.end()) - s.begin() << endl;
cout << "元素内最大值的值为: " << * max_element(s.begin(), s.end()) << endl;
cout << "元素内最小值的位置为: " << min_element(s.begin(), s.end()) - s.begin() << endl;
cout << "元素内最小值的值为: " << * min_element(s.begin(), s.end()) << endl;
//容器
vector<int> v ={3, 1, 2};
cout << "元素内最大值的位置为: " << max_element(v.begin(), v.end()) - v.begin() << endl;
cout << "元素内最大值的值为: " << * max_element(v.begin(), v.end()) << endl;
cout << "元素内最小值的位置为: " << min_element(v.begin(), v.end()) - v.begin() << endl;
cout << "元素内最小值的值为: " << * min_element(v.begin(), v.end()) << endl;
}
参考资料: