1.数组元素全排列函数next_permutation\prev_permutation
//next_permutation(start,end)和prev_permutation(start,end)。这两个函数作用是一样的,区别就在于前者求的是当前排列的下一个排列,后一个求的是当前排列的上一个排列。
//当前序列不存在下一个排列时,函数返回false,否则返回true
2.数组翻转reverse函数
反转函数就是头对尾逐渐向里的元素交换,比如数组{1,4,2,5,8,4},用反转数组后就是{4,8,5,2,4,1}
已知数组b[4]格式:reverse(b,b+4)
3.数组元素排序sort(arr, n)函数
int arr[N];
sort(arr, arr+N);
4.数组填充fill、替换replace函数
已知数组b[7]
// fill(b,b+7,1)可以把数组b全部都填充为1
// replace(b,b+7,1,2)可以把b数组的元素1替换为2。
int a[3] = {0, 1, 2};
replace(a, a + 3, 0, 3);
// a[3] = {3, 1, 2}
5.数组元素交换函数swap
// swap(nums[i],nums[j]) 交换num数组中的第i个元素和第j个元素
6.查找数组最小元素min_element(a, a+n)、最大元素max_element(a, a+n)函数
int a[4] = {8, 1, 2, 1};
cout << *min_element(a, a+4); //1
cout << *max_element(a, a+4); //8
7.数组元素求和函数accumulate(a, a+4, 0)
int a[4] = {8, 1, 2, 1};
cout << accumulate(a, a+4, 0); // 12
8.find() 函数用于在数组或vector中查找指定元素,查找成功则返回一个指向指定元素的迭代器,查找失败则返回end迭代器。(注意不是返回 true or false)
vector v = { 2,4,6,8,10,12 };
int find_num = 8; //要查找的元素,类型要与vector中的元素类型一致
vector::iterator num = find(v.begin(), v.end(), find_num); //返回一个迭代器指针
if (num != v.end()) //查找成功
{
cout << “元素 " << *num << " 在num_list中”<<endl; //注意指针的输出方式
cout << "其索引为 " << distance(v.begin(), num) << endl;
//distance()函数用于计算两个迭代器表示的范围内包含元素的个数
}
else
cout<< “元素 " << find_num << " 不在num_list中” << endl;
C++数组常见函数汇总
最新推荐文章于 2024-05-06 22:29:10 发布