11 2022 档案
摘要:其为队列需要包含头文件#include,其与queue的不同之处在于,可以自定义数据的优先级,让优先级高的排在队列的前面,优先出队; 优先队列具有队列的所有特性,包括基本操作,只是在此基础上添加内部排序,实质上由堆实现 top访问队头元素 empty队列是否为空 size返回队列中元素的个数 pus
阅读全文
摘要:class Solution { public: class Myqueue // 单调队列 { public: deque<int>que; // 因为只维护了队列最大值,故在pop时判断滑动窗口最前方的值与最大值是否相等,相等则pop // 这样就保持了队列里的数值是单调从大到小的了。 void
阅读全文
摘要:指针基本概念 C++的指针也是标识符,不能与其它的普通变量重名; 对指针的赋值操作通俗的被称为“指向某变量”,被指向的变量的数据类型称为“基类型”。 指针占用的内存 指针也是变量,在64位的操作系统中,不管什么类型的指针,占用的内存都是8字节。 使用指针 声明指针变量后,在没有赋值之前,里面是乱七八
阅读全文
摘要:语法:typedef 原数据类型名 别名; C++11还可以用using关键字创建数据类型的别名。 语法:using 别名=原数据类型名 实际开发中创建别名的代码一帮放在头文件中
阅读全文
摘要:计算机进行运算时,要求表达式中各操作数的类型具有相同的大小和存储方式。 在实际开发中,不同类型的数据进行混合运算是基本需求。 自动类型转换:某些类型的转换编译器可以隐式的进行,不需程序员干预。 强制类型转换:有些类型的转换需要程序员显式指定。 自动类型转换: 强制类型转换: 强制类型转换的语法:(目
阅读全文
摘要:奇技淫巧: bool类型本质是unsigned char true 和 false是C++在语法上的处理
阅读全文
摘要:赋值:变量名 = "字符串的内容"; 拼接:变量名=变量名+"字符串的内容一"+"字符串的内容一"+......+"字符串的内容n" ; 如果字符串的内容都是常量,不要写加号(+),如果内容很长,可以分成多行书写。
阅读全文
摘要:原始字面量(值)可以直接表示字符串的实际含义,不需要转义和连接。 语法: R"(字符串的内容)" R"xxx(字符串的内容)xxx" 其中xxx为标签,旨在增加代码的可读性,不是字符串内容的一部分,并不会被输出显示,且标签必须成对显示,前面与后面的内容一致; 字符串的多行书写可以使用 / 作为连接符
阅读全文
摘要:字符型(char)占用内存空间是1个字节,书写用单引号包含,注意不是双引号,双引号是用来包含字符串的 单引号里只能写单个字符 ; 在内存中,不存放字符本身,而是存放与它对应的编码,即ASCII码;
阅读全文
摘要:全局变量 在全部函数(包括main函数)外面定义的是全局变量; 在整个程序生命周期内都是有效的,在定义位置之后的任意函数中都能访问(在定义位置之前的任何函数都不能访问) 全局变量在主程序退出时由系统收回内存空间。 局部变量 在函数和语句块内部定义的是局部变量; 函数内部是指在函数花括号里面 语句块内
阅读全文
摘要:class MyQueue { public: stack<int>stIn; stack<int>stOut; MyQueue() { } void push(int x) { stIn.push(x); } // 从队列开头移除并返回元素 int pop() { if(stOut.empty()
阅读全文
摘要:代码示例: class Solution { public: void getNext(int* next, const string& s) { int j = 0; // 初始化;i为后缀末尾; j为前缀末尾; next[0] = 0; for(int i = 1; i < s.size();
阅读全文
摘要:注意查看reverse的使用方法 class Solution { public: string reverseLeftWords(string s, int n) { reverse(s.begin(), s.begin() + n); reverse(s.begin() + n, s.end()
阅读全文