1.c++万能头文件

在C++中,所谓的“万能头文件”通常指的是<bits/stdc++.h>,它包含了几乎所有标准库的头文件。这个头文件主要用于竞赛编程或快速原型开发,可以避免频繁引入多个头文件的麻烦。

使用<bits/stdc++.h>的优势

  • 便捷性:只需包含一个头文件即可使用大多数标准库功能,如<iostream><vector><algorithm>等。
  • 节省时间:在竞赛编程中,可以快速编写代码而无需关心具体需要哪些头文件。

注意事项

  • 非标准头文件<bits/stdc++.h>是GCC编译器的扩展,并非C++标准的一部分。其他编译器(如MSVC、Clang)可能不支持。
  • 编译时间:包含所有头文件会增加编译时间,不适合大型项目。
  • 可移植性:依赖此头文件的代码可能无法在其他编译器或平台上运行。

2.abs函数

abs函数的基本介绍

在C++中,abs函数用于计算整数的绝对值。该函数定义在<cstdlib>头文件中,适用于intlonglong long等整数类型。对于浮点数,应使用<cmath>中的fabsstd::abs

整数绝对值的用法

对于整数类型,abs函数的原型如下:

int abs(int n);
long abs(long n);
long long abs(long long n);
 

示例代码:

#include <cstdlib>
#include <iostream>

int main() {
    int a = -5;
    std::cout << "Absolute value of " << a << " is " << abs(a) << std::endl;
    return 0;
}
 

输出结果:

Absolute value of -5 is 5
 

浮点数绝对值的用法

对于浮点数(floatdoublelong double),应使用<cmath>中的std::abs

#include <cmath>
#include <iostream>

int main() {
    double b = -3.14;
    std::cout << "Absolute value of " << b << " is " << std::abs(b) << std::endl;
    return 0;
}
 

输出结果:

Absolute value of -3.14 is 3.14
 

3.sort排序函数

sort函数的作用

sort函数用于对数组或列表中的元素进行排序,能够快速将数据按照升序或降序重新排列。该函数通常由编程语言内置,具有高效性和易用性。

使用sort函数的优势

效率高
大多数编程语言中的sort函数采用优化算法(如快速排序、归并排序),时间复杂度为O(n log n),适合处理大规模数据。

代码简洁
无需手动实现排序逻辑,一行代码即可完成排序。

sort函数的基本用法

C++中的sort函数位于<algorithm>头文件中,用于对容器或数组中的元素进行排序。默认情况下按升序排列。

#include<iostream>
#include<algorithm>
using namespace std;

int main(){
	int num[10] = {6,5,9,1,2,8,7,3,4,0};
	sort(num,num+10);
	for(int i=0;i<10;i++){
		cout<<num[i]<<" ";
	}//输出结果:0 1 2 3 4 5 6 7 8 9
	
	return 0;
	
} 

如果想要升序

使用greater<int>() 当然<>中我们也可以写double、long、float

greater<int>() 的含义

greater<int>() 是 C++ 标准库中的一个函数对象(Functor),用于实现降序排序比较两个元素的大小关系。它属于 <functional> 头文件中定义的比较器类模板,专门用于比较操作。

下面用上面的代码写降序的

#include<iostream>
#include<algorithm>
using namespace std;

int main(){
	int num[10] = {6,5,9,1,2,8,7,3,4,0};
	sort(num,num+10,greater<int>());
	for(int i=0;i<10;i++){
		cout<<num[i]<<" ";
	}//输出结果:9 8 7 6 5 4 3 2 1 0
	
	return 0;
	
} 

sort 函数括号里面的是左闭右开写法,所以右边需要多加一位,表示在它之前的都进行排序

4.把一串数字反转

在 C++ 中,reverse 函数用于反转容器或数组中的元素顺序。它属于标准模板库(STL)的一部分,定义在 <algorithm> 头文件中。

使用方法

本小白知识有限,就只列举了数组和字符串用法

数组:

需要注意的是:reverse函数里的(last,end);表示从last到end前面一位进行反转,end不反转(可以理解成左闭右开的意思doge)

#include<bits/stdc++.h>

int main() {
    int arr[] = {10, 20, 30, 40};
    reverse(arr, arr + 4);//所以此处是+3不是+4!!!

    for (int i=0;i<4;i++) {
        cout <<arr[i]<< " "; // 输出:40 30 20 10
    }
    return 0;
}
 

反转字符串(tring):

字符串没有像数组那样特殊要求,有一个固定的格式是reverse(字符串名字.begin(),字符串名字.end())

#include<bits/stdc++.h>
using namespace std;

int main() {
   string str = "Hello World";
   reverse(str.begin(), str.end());
    
   cout << str;  // 输出:dlroW olleH
   return 0;
}
 

5.开方函数(sqrt)

C++ 中的 sqrt 函数用于计算一个数的平方根,属于标准数学库 <cmath> 或 <math.h>(C 风格头文件)

  • 参数 x 必须为非负数(若为负数可能引发域错误或返回 NaN)。
  • 返回值为 double,float,long double 类型,表示 x 的算术平方根.

格式:

sqrt(数值);这个数值可以是任意类型,只要>=0就ok

#include<bits/stdc++.h>
using namespace std;
int main()
{
 int a;
cin>>a;
double b=sqrt(a);
cout<<b;;
return 0;
}

6.A乘B的n次方

使用pow函数:

格式:A*pow(B,n)

pow函数的参数和返回值都是double类型

当B为10时

可以写成Aen;表示A乘B的n次方

更多推荐