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

                                                     一、经验分享


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


                                                    二、知识点总结


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


       例:vector nums

       长度:int size = nums.size()     


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


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

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


3、breakcontinuegoto语句的使用

  • 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> nums;       //创建一个二维向量容器 int

       2)vector> nums(3, vector(4)) ;    //二维向量nums,它含有三个元素,每个元素含有4个int型的向量


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<

     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

LeetCode刷题知识点总结(更新ING)_第1张图片


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


如果数组大小较大,大于10的6次方级别,则需要将其定义在主函数外,否则会使得程序异常退出,因为函数内部申请的局部变量来自系统栈,允许申请的空间较小;而函数外部申请的全局变量来自于静态存储区,允许申请的空间较大。

#include

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函数


 

你可能感兴趣的:(Leetcode刷题记录)