常用库函数
memset()
memset() 是一个用于设置内存块值的函数。它的原型定义在****头文件中,函数的声明如下:
void* memset(void* ptr, int value, size_t num);
memset()函数接受三个参数:
1.ptr: 指向要设置值的内存块的指针。
- value: 要设置的值,通常是一个整数(8位二进制数)
- num: 要设置的字节数(Byte = 8bit)
#include<bits/stdc++.h> using namespace std; int main(){ int a[5]; memset(a, 0, sizeof(a));//memset(a, 0, sizeo a); //或者写成 0*3f for(int i = 0; i < 5; ++i) cout << a[i] << '\n'; //memset(a, 1, sizeof a); //for(int i = 0; i < 5; ++i) //cout << bitset<32>(a[i]) << '\n'; reutnr 0; }
swap()
swap(T &a, T &b) 函数接受两个参数
swap()函数可以用于交换任意类型的变量
int a = 10; int b = 20; std::swap(a, b);
reverse()
reverse() 是一个用于反转容器中元素顺序的函数。
它的原型定义在****头文件中,函数声明如下:
template<class BidirIt> void reverse(BidirTt first, BidirIt last);
reverse()函数将[first, last) 范围内的元素顺序进行反转。
也就是说,它会将[first, last)范围内的元素按相反的顺序重新排列。
reverse()函数可用于反转各种类型的容器,包括数组、向量、链表等。
以下是一个示例,展示如何使用reverse()函数反转一个整型向量的元素顺序:
#include<iostream> #include<vector> #includea<algorithm> using namespace std; int main(){ vector<int> vec = {1, 2, 3, 4, 5}; reverse(vec.begin(), vec.end()); for(int num : vec){ cout << num << " "; } cout << endl; return 0; }
unique()
unique(first, last) 函数接受两个参数:
unique()函数将[first, last)范围内的相邻重复元素去除,并返回一个指向去重后范围的尾后迭代器。
去重后的范围中只保留了第一个出现的元素,后续重复的元素都被移除。
unique()函数可用于去除各种类型的容器中的相邻重复元素,包括数组、向量、链表等。
以下是一个示例,展示如何使用unique()函数去除一个整型向量中的相邻重复元素:
//必须先排序,然后去重 int main(){ vertor<int> vec = {1, 1, 2, 2, 3, 3, 4, 4, 5}; auot it = unique(vec.begin(), vec.end()); vec.erase(it, vec.endl); for(int num : vec){ cout << num << " "; } cout << endl; return 0; }