首页 > 编程语言 >C++函数总结

C++函数总结

时间:2023-02-05 10:34:44浏览次数:65  
标签:总结 node 函数 int 返回 bound C++ 数组

1、fabs返回浮点数的绝对值,abs返回整数绝对值

2、运算符重载之后排序比写一个排序函数排序要快

struct node{

int x, y, z;

bool operator < (const node &p) const{

return z < p.z;

}

}a[N];

3、register :

定义局部变量,存放在cpu中,会快一点。但是不能做与运算!

4、结构体重载

truct node{

int x, y, h;

}a[N * N];

struct cmp{

bool operator () (node s1, node s2){

return s1.h > s2.h;

}

};

5、fmod(n,m):浮点数取余

priority_queue< node, vector, cmp > q;

6、数组赋初值

memset(f, 0xcf, sizeof f) -> -808464433
memset(f, -0x3f, sizeof f) -> -1044266559
memset(f, 0x3f, sizeof f) -> 1061109567

const int N = 20;

int a[N];

signed main(){

memset(a, ~0xcf, sizeof a);

cout << a[1] << endl;

//ans:808464432

}

7、erase函数

对于容器而言的函数

用法①:erase

vector e = {"a","b","c","d","e","f","g"};
e.erase("c"); //删除字符串“c”
auto it = e.end()-1; //.end()指向末尾的后一个元素,因此需要-1,指向末尾元素
e.erase(it); //删除末尾元素“g”
auto it2 = e.begin()+1;
auto it3 = e.end()-2;
用法②:e.erase(it2,it3); //删除it2到it3之间的元素

8、unique 函数(去重)

首先需要对待去重的数组进行排序

int ans = unique(a + 1, a + 1 + n) - (a + 1)。返回值ans为数组有多少个不同的数,然后数组的前ans个数,就是该数组的不同的数的个数。

需要注意的是,执行该操作,并不意味着,数组内重复的元素被删除掉了。

unique去重之后,数组返回的容器大小是不重复元素的个数

9.greater() 可以直接当作cmp函数来用

10、vector查找函数

查找:if(find(vet.begin(), vet.end(), x) != vet.end()), 时间复杂度O(n)

11、string查找

string st1, st2;

查找: int pos = st1.find(st2), 从st1中找到一个等于st2的串,并返回第一次出现的位置
//为避免重复查找,可以在找到一个串之后,就将这个串进行更新

12、lower_bound&&upper_bound

对于有序数组a而言,在O(logn)时间内返回查找结果

lower_bound:
①int x = lower_bound(a + 1, a + 1 + n, num) - a : 下标从1开始,返回第一个大于等于num的数的位置
②int x = lower_bound(a, a + n, num) - a : 下标从0开始,返回第一个大于等于num的数的位置

upper_bound和lower_bound用法类似,但是返回的是第一个大于num的数的位置

需要注意的是,使用的时候,要注意判断是否找到我们想要的结果。如果返回的位置为n + 1, 说明没找到,这个时候要进行特判!

13、对数函数

14、substr函数

15、bitset函数

  • 两种初始化方式:

       bitset<23>bit (string("11101001"));
    
    cout<<bit<<endl;
    
    bit=233;
    
    cout<<bit<<endl;
    
  • bitset与位运算

  • bitset函数

bitset - OI Wiki (oi-wiki.org)

标签:总结,node,函数,int,返回,bound,C++,数组
From: https://www.cnblogs.com/N-lim/p/17092972.html

相关文章

  • 1.5 函数的调用机制
    函数调用处理是通过把程序计数器的值设定成函数的储存地址来实现的,哪怕是高级语言编写的程序。哪怕是高级语言编写的程序,函数”调用处理也是通过把程序计数器的值设定成函......
  • shell函数和数组
    一、函数1、函数使用方法定义函数再引用函数查看系统限制所有函数:declare-F看函数定义详细内容:declare-f 函数名  删除函数:unset 函数名 2、注......
  • C++基础语法资料
     一、C++基本语法变量名是由字母、数字和下划线字符组成,并且开头不能是数字。大小写不同的变量是不同的。变量名不能是关键字,如for、if等都是不能作为变量名的C++基本......
  • shell脚本——函数与数组
     Shell脚本之函数及数组一、函数函数的作用语句块定义成函数约等于别名,定义函数,再引用函数封装的可重复利用的具体特定功能的代码函数的基本格式法一......
  • 2022game总结
    游戏总结-对马岛之魂 9/10-战神410/10-战神5   9/10-地平线2西之绝境   10/10-stray 8/10-银河护卫队 8/10![GhostofTsushima_20220311234141](......
  • 析构函数和构造函数的特点(在汇编中如何识别构造和析构)
    1.构造函数1.1概念​ 常用来完成对象生成时的数据初始化工作,支持函数重载,不可定义返回值,返回值为对象首地址,即this指针拷贝构造函数:参数为对象地址,返回值为this指针1......
  • 《人工智能:线代方法》 第二部分问题求解 通过搜索进行问题求解(4) 启发式函数
    《人工智能:线代方法》第二部分问题求解通过搜索进行问题求解(4)3.6启发式函数启发式函数h(n)告诉A*从任意结点n到目标结点的最小代价评估值。选择一个好的启发式函数......
  • 【八大数据排序法】快速排序法的图形理解和案例实现 | C++
    第十八章快速排序法:::hljs-center目录第十八章快速排序法●前言●认识排序●一、快速排序法是什么?1.简要介绍2.具体情况3.算法分析●二、案例实现1.......
  • C++ Primer 5th 阅读笔记:入门指南
    学习方法Thewaytolearnanewprogramminglanguageistowriteprograms.学习一门新编程语言的方式是编写程序。函数(Function)函数的四部分:返回类型;函数......
  • C/C++保安排班管理系统[2023-02-04]
    C/C++保安排班管理系统[2023-02-04]学校实验楼有7名保安人员:钱、赵、孙、李、周、吴、陈。由于工作需要进行轮休制度,一星期中每人休息一天。预先让每一个人选择自己认为......