随笔分类 - C++
摘要:map的遍历可以通过迭代器实现,也可以用指针形式来实现,在前面已经说过了,不再重复。下面介绍一下map的常用操作 1. 判断map容器中是否存在某一关键字,用map自带的成员函数count(),参数为关键字,返回值为int型数据。 返回值为0或1,若存在返回1,不存在返回0。 2. 在map容器里面
阅读全文
摘要:map是STL中常用的一个容器,下面介绍一下map。 (1) map是STL中的一个关联容器,它提供了一对一的数据处理能力,即一对一的映射,所以在实现一对一数据的时候,它提供了快速的通道。 (2) 一对一的映射中,第一个参数是关键字key,并且每个关键字在map中只能出现一次。第二个参数是关键字ke
阅读全文
摘要:和数组一样,数组有二维的数组,vector也有二维的vector。下面就介绍一下二维vector的使用方法。 一般声明初始化二维vector有三种方法 (1) vector< vector<int> > v(n,vector<int>(m)); //在声明的时候就一次性指定vector内外层的大小;
阅读全文
摘要:vector在做形参的时候传参的方式和普通的变量是一样的,要么传值、要么传引用、要么传指针。 现在分别定义三个以vector为形参的函数: (1) fun1(vector <int> v);传值 (2) fun2(vector <int> &v);传引用 (3) fun3(vector <int>
阅读全文
摘要:对于之前没有接触过vector的初学者来说,经常会把vector和数组弄混,因为二者在用的时候比较像,下面就详细的来介绍一下vector和数组的区别。 (1) 首先,vector类似于数组,有一段连续的内存,有固定的起始地址,可进行随机存取操作,即可以像数组一样用[ ]操作符进行元素的随机访问 (2
阅读全文
摘要:如果不清楚vector是什么的话就去看我的另一篇随笔吧:https://www.cnblogs.com/buanxu/p/12791785.html 进入正题,vector和string一样,也是一种顺序容器,并且它俩的成员函数及特性也都差不多类似;它俩的区别就在于string只能存放字符,而vec
阅读全文
摘要:c语言里是没有string型的,string在c++里面。有的时候在c++里要用scanf、printf输入输出string型字符串,这是可以实现的,不过要做一点处理。 具体操作看代码: #include<cstdio> #include<string> using namespace std; i
阅读全文
摘要:之前说过 string和vector一样,也是一种顺序容器,并且它也自带成员函数,用法和vector的成员函数差不多,不过它只能用来存放字符,也就是字符串。 在c++中,<string>基本上已经包含在<iostream>里面了,但即便如此,在我们用到string类的时候还是要加上头文件<strin
阅读全文
摘要:其实c++自身是没有四舍五入函数round()的,若果你要用到的话,可以自己写一个round(),不过要用到floor()和ceil这两个函数如下: 1 #include<iostream> 2 #include<cmath> 3 using namespace std; 4 5 double ro
阅读全文
摘要:<cstring>是c++对c中的<string.h>进行了重写,这两个头文件中的函数用法是一样的,所以在用的时候包含哪个头文件都行。下面介绍一下 <cstring>头文件里常用的两个函数;分别是memset和memcpy。 1. memset(void* buffer,int a,size_t n
阅读全文
摘要:很多人都只知道sort()是通过快速排序实现,但它并不只是简单的快排;首先它对普通的快速排序进行了优化;此外,它还结合了插入 排序和堆排序。系统根据数据形式和数据量,来选择合适的排序方法,这并不是说每次排序只选择一种方法,它是在一次完整的排序中, 根据不同的情况来选择不同的方法。例如,对一个数据量较
阅读全文
摘要:先说一下,本篇文章我没有讲sort()实现排序的原理,我写在另一篇文章中了,如果想了解的话,可以看一下,附上链接:https://www.cnblogs.com/buanxu/p/12772700.html sort(v.begin(),v.end(),cmp),它是用来对一组序列进行排序的;有三个
阅读全文
摘要:先说一下STL操作的区间是 [a, b),左边是闭区间,右边是开区间,这是STL的特性,所以<algorithm>里面的函数操作的区间也都是 [a, b)。 先声明一下, sort()函数在这篇文章中没讲,因为sort()函数功能比较强大(我自己认为的,哈哈),所以我专门用了另一篇文章来写sort(
阅读全文
摘要:C++中没有自带的random函数,要生成随机数就需要用c文件"stdlib.h"里的函数rand()和srand(),不过,由于rand()的内部实现是用线性同余法做的, 所以生成的并不是真正的随机数,而是在一定范围内可看为随机的伪随机数,下面分别介绍一下各自的用法 1. int rand(voi
阅读全文
摘要:先说一下c++标准库并没有提供所谓的日期类型,而是继承了c的日期类型 <cmath>里面有些常用的函数,比如计时函数clock()、获取系统时间的函数time(),下面就具体的介绍一下 1. clock() c++中对clock()的定义为:clock_t clock(void);可以看出,cloc
阅读全文
摘要:<cmath>里面有很多数学函数,下面说一下常用的一些函数吧;直接把函数原型给了出来,用的时候注意参数 先说一下,c++自身是没有四舍五入函数round()的,若果你要用到的话,可以自己写一个round() ,我用另外 一篇文章写了一个round()函数,附上链接:https://www.cnblo
阅读全文
摘要:在c++中,有的时候会遇到变长的数组(不管是一维的还是二维的),这个时候就需要用到动态数组了,并且要用new和delete两个操作符,这俩操作符一般成对使用。 先说一维的动态数组吧,直接上代码 1 #include<iostream> 2 using namespace std; 3 int mai
阅读全文
摘要:在使用vector、map等容器的迭代器的时候,常常会与指针弄混(注意,容器适配器 stack、queue 和 priority_queue 没有迭代器,可以使用这些容器自带的成员函数 来对元素进行访问),因为他们的一些使用方法有些类似,还是举个例子: vector<int> v; //先声明一个v
阅读全文
摘要:引用和指针做形参是很常见的问题,但是它们在做参数的时候是有区别的。先说一下指针吧,指针他是一个变量,有具体的值,他的值是一个地址(非const)。 而引用是对一个变量的引用,是变量的别名,并且在引用的时候必须要初始化。举个例子吧: int a=2; int &b=a; // b是对a的引用,a、b是
阅读全文
摘要:在c++中,我们使用cin和cout进行输入输出会比用scanf和printf更加简洁和方便,但是当程序有大量IO的时候,使用cin和cout进行输入输出会比用scanf和printf更加耗时, 在数据量较小时则无明显差别。如果没要求效率的话,用cin和cout或scanf和printf都行;但是如
阅读全文

浙公网安备 33010602011771号