Advertisement

LeetCode刷题知识点总结(更新ING)

阅读量:

一、经验分享


待更............


二、知识点总结


1、 求一个vector定义的向量的长度( size()函数)


例:vector nums

长度: int size = nums.size() ****


2、不写排序代码对数组进行简单的升序排序( sort()函数)


例:vector nums; 假设nums里面的元素都是数字

排序: sort(nums.begin(),nums.end()) 排序后的结果是原数组的升序排序


3、 break、continue、goto语句的使用

  • break

作用:用于终止当前循环,且只能终止距离它最近的循环。

  • continue

作用:该指令用于跳过本次循环余下的语句后转而判断是否需要执行下次循环;具体而言,在处理完当前操作后会转向判断条件是否满足从而决定是否继续执行下一轮循环;这一机制特别适用于针对最新执行过的那一层循环进行操作(例如for、while、do...while等常见循环结构)。

  • goto

作用:goto语句可以让控制无条件地转移至同一函数内的被标记的语句。(然而,请尽量避免使用goto语句因为它会导致程序的控制流难以追踪从而使程序变得不易理解和难于修改)

格式:goto label; //直接跳转到label处,执行label冒号后的语句

......

......

label:

statement;


4、使用vector定义一维、二维向量


  • 一维向量

1)vector nums; //创建一个向量存储容器 int

2)vector nums(10); //定义10个整型元素的向量,其值是不确定的

3)vector nums(10,1); //定义10个整型元素的向量,其每个元素的初值为1

4)vector nums(a); //用向量a来创建nums向量,整体复制性赋值

5)vector nums(a.begin(),a.begin+3) //定义nums中的值为a中的第0个到第2个元素

6)int a[7]={1,2,3,4,5,6,9,8};

vector nums(a,a+7); //从数组中获得初值

  • 二维向量

1)vector<vector> nums; //创建一个二维向量容器 int

vector<vector> nums(3, vector(4)); //其中nums为一个二维容器,包含3个子容器。每个子容器内部包含4个整数


5、针对vector对象的一些操作函数


  • push_back()

作用:在vector定义的向量后插入一个元素。

vector nums;

nums.push_back(5);

  • pop_back()

作用:在vector定义的向量中,删除最后一个元素。

vector nums;

nums.pop_back();


6、将char类型的字母转换成string类型的


**** vector A1;

char nums = 'a' +3;

stringstream stream;

stream<<nums;

A1.push_back(stream.str()); //A1中存的就是string类型的字母

A1中的结果是:["d"]


7、nullptr


C++11引入了一个新的关键字nullptr 作为空指针常量。

char *p = nullptr;

一般在使用 = NULL的时候用nullptr替代,这样可以避免二义性问题。


8、- >的使用


->是指针的指向运算符,通常与结构体一起使用


9、scanf和printf的使用


复制代码
 int main()

    
 {
    
 	int a, b;
    
 	scanf("%d%d", &a, &b);
    
 	printf("%d\n", a + b);
    
 	system("pause");
    
 	return 0;
    
 }
  • %d她默认是以空格分隔数字
    • printf换行用\n
    • 换行用\n

10、如果定义的数组过大,该如何解决


当数组规模较大时(超过10^6),建议将其定义在主函数外部以避免内存溢出问题。这样做可以有效防止程序因内存不足而崩溃运行;如果将变量定义在主函数内部,则可能无法满足其所需的最大内存需求。具体来说,在C/C++编程中,默认情况下局部变量由操作系统栈管理(占用的内存空间相对有限),而全局变量则来源于静态存储区域(可以预先分配较大的内存空间)。因此,在处理大规模数据时必须注意这种差异并采取相应的策略以确保程序正常运行

复制代码
 #include<iostream>

    
  
    
 using namespace std;
    
 int a[1000000];
    
 int main()
    
 {
    
     for(int i = 0;i<1000000;i++)
    
     {
    
     a[i] = i;
    
     }
    
     return 0;
    
 }

11、对数组中的每一个元素赋相同的值


  • 对数组a赋相同的值:都赋值为0
复制代码
 int a[5] = {1,2,3,4,5};

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

12、编程中遇到排序,直接使用sort函数


全部评论 (0)

还没有任何评论哟~