自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 2021-07-12

new 与 malloc区别

2021-07-12 16:20:44 67

原创 stm32时钟

2021-06-08 10:40:23 64

原创 二叉树层序遍历

void FloorPrint_QUEUE(pTreeNode &Tree) //层序遍历_队列实现{queue < pTreeNode> q;if (Tree != NULL){q.push(Tree); //根节点进队列}while (q.empty() == false) //队列不为空判断{ cout << q.front()->data << " → "; if (q.front()->leftPtr

2021-06-07 16:05:21 57

原创 运算符优先级

运算符优先级优先级【高到低】:第一级:圆括号【()】、下标运算符【[]】、分量运算符的指向结构体成员运算符【->】、结构体成员运算符【.】第二级:逻辑非运算符【!】、按位取反运算符【~】、自增自减运算符【++ --】、负号运算符【-】、类型转换运算符【(类型)】、指针运算符和取地址运算符【和&】、长度运算符【sizeof】第三级:乘法运算符【】、除法运算符【/】、取余运算符【%】第四级:加法运算符【+】、减法运算符【-】第五级:左移动运算符【<<】、右移动运算符【&

2021-06-02 10:14:02 865

原创 correction

int main(){int a=1,b=2,m=0,n=0,k;k=(n=b<a)&&(m=a) ;printf("%d,%d\n",k,m);return 0;}输出结果为0,0&&连接,前面为0后面语句就不执行

2021-05-26 12:45:46 102

原创 c++基础

1.常量作用:用于记录程序中不可更改的数据C++定义常量两种方式1.#define宏常量: #define 常量名 常量值 通常在文件上方定义,表示一个常量2.const修饰的变量 const 数据类型 常量名=常量值通常在变量定义前加关键字const,修饰该变量为常量,不可修改2.关键字3 标识符命名规则作用:C++规定给标识符(变量、常量)命名时,有一套自己的规则标识符不能是关键字·标识符只能由字母、数字、下划线组成·第一个字符必须为字母或下划线...

2021-05-25 22:59:29 48

原创 整数翻转数字溢出

class Solution {public: int reverse(int x) { int res=0; while(x!=0){ // 检查数字是否溢出 if (res > INT_MAX / 10 || res < INT_MIN / 10) {return 0;} res=res*10 + x%10; x/=10; } ..

2021-05-23 15:33:17 51

原创 string常见的操作

1.统计一个给定字符串每个字母出现的次数 a[s[i]-'a']++;//数组a用来存储每个字母出现的次数提前创建一个26位的数组,根据给定的数组长度对该数组进行遍历,a[s[i]-'a']++其中s[i]-'a'是确定给字符串s第i个元素在26个英文字母表的位置,该数组从0开始标号,根据ASI码查找,对应元素每出现一次就加一*例题:给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1class Solution {public: int firstUni

2021-05-19 15:24:00 37

原创 单链表

单链表创建 /*Definition for singly-linked list.struct ListNode { int val; ListNode *next; //定义节点的后继 ListNode(int x) : val(x),next(NULL){}//声明一个节点};*/删除节点class Solution {public: void deleteNode(ListNode* node) { node-&g

2021-05-18 16:24:55 80

原创 重复元素(STL)

给定一个整数数组,判断是否存在重复元素。如果存在一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。class Solution {public: bool containsDuplicate(vector<int>& nums) {sort(nums.begin(),nums.end());return (unique(nums.begin(),nums.end())!=nums.end());}};unique函

2021-05-16 14:50:03 138

原创 贪心算法

本质时求取局部最优解以抓包问题为例在既满足价值最高同时又质量最大的情况,采用贪心算法,其局部最优体现在每个物体的性价比最高采用贪心算法,只能保证局部最优,只适合奔雷问题物体可以切割的情况加入物体不可以分割,同时满足两个条件就得采用动态规划#include<iostream>#include<algorithm>using namespace std;//贪心算法适用于可分割的重物//如果物体不可分割采用动态规划struct bag{ int w; //重量

2021-05-12 22:50:18 75

原创 类模板与函数模板的区别

1.类模板没有自动类型推导,只能用显示指定类型2.类模板可以由默认参数

2021-05-12 16:12:49 99

原创 string

3.1.1 string基本概念本质:string是C++风格的字符串,而string本质上是一个类string和char区别:. char是一个指针string是一个类,类内部封装了char*,管理这个字符串,是一个char型的容器。特点:string类内部封装了很多成员方法例如:查找find,拷贝copy,删除delete替换replace,插入insertstring管理char所分配的内存,不用担心复制越界和取值越界等,由类内部进行负责3.1.2 string构造函数构造函数原型:s

2021-05-09 21:09:06 47

原创 模板

#include<iostream>using namespace std; void swap(int a,int b) { int temp = a; a = b; b = temp;}template<class T> void mySort(T arr[],int len) { for (int i = 0; i < len-1;i++) { int min = i; for (int j = i + 1; j < len;j+...

2021-05-09 11:11:05 45

原创 空指针

空指针可以指向成员属性if (this == NULL) { return; }提高程序的健壮性

2021-04-29 15:19:11 56

原创 this pointer

this 指针1.解决名称冲突2,*this指向本体,可以实现链式编程#include<iostream>using namespace std;class person {public: person(int age) { this->m_age = age; } person& personadd(person &p) { //返回person的引用,不然后面创建p2返回时会创建一个新的p2',返回引用返回的还是p2 this-&gt

2021-04-29 14:57:09 52

原创 类占空间

空类占用的内存空间为1个字节,为了区分空对象内存占用的位置静态成员变量类内声明,类外初始化sizeof(p)=4;静态成员变量不属于类对象sizeof(p)=4;非静态的成员函数不属于类对象归根结底就是只有非静态的成员变量属于类对象...

2021-04-25 21:55:43 76

原创 静态成员变量

静态成员函数#include<iostream>using namespace std;class person {public: static void fun() { cout << "static void fun的调用" << endl; }};void test() {//第一种调用方法:创建对象 person p; p.fun(); //第二种方法:通过类名访问 person::fun();}int main() {

2021-04-25 20:36:02 45

原创 类对象

类对象的构造函数和析构函数#include<iostream>using namespace std;#include<string>class phone {public: phone(string pName) { this->p_name = pName; cout << "phone的构造函数的调用" << endl; } ~phone() { cout << "phone的析构函数" << e

2021-04-25 11:35:08 50

原创 初始化列表

2021-04-24 22:24:14 54

原创 深拷贝&浅拷贝

深拷贝与浅拷贝如果内存在堆区,浅拷贝会造成内存空间的重复释放使用深拷贝可以解决浅拷贝带来的问题,创建拷贝构造函数,避免内存重复释放析构函数也可以发挥作用,检查内存是否是放干净,释放堆区析构函数~person() {//检查指针是否为空,即堆区是否为空//不为空认为置空 if (m_height!=NULL) { delete m_height; m_height = NULL; } }如果类的内部有栈区数据,需要加拷贝构造函数person(const person&

2021-04-24 22:14:29 54

原创 algorithm

algorithm数据结构数组,链表查找数组比链表块插入一个数链表比数组块算法优劣测量时间复杂度,数组在访问最后一个元素时间复杂度一样为o(1)链表在访问最后一个元素时间复杂度o(n)排序问题顺序排序#include<iostream>using namespace std;void print(int arr[],int len) { for (int i = 0; i < len; i++) { cout << arr[i] <&lt

2021-03-23 17:33:20 43

原创 c++review

c++回顾(容易忘)常用转义字符字符串跳转语句break消除循环不在执行下次循环c++排序法方法数组元素逆置#include<iostream>using namespace std; int main(){ int arr[5] = {1,3,2,5,4}; cout << "数组逆序前:" << endl; for (int i = 0; i < 5;i++) { cout << arr[i] &lt

2021-03-22 22:15:50 45

原创 2021-03-11

stack容器

2021-03-11 22:00:01 33

原创 2021-03-10

评委打分程序要求:10个评委给5个选手打分,去掉一个最高分和最低分,求取每个人的平均分数思路:先创建一个选手的person类,定义name和score两个属性定义函数createPerson创建对象,在主函数中定义一个vector容器用来储存对象,调用createPerson,在createPerson函数中传入一个person类型的vector容器引用,作为形参储存创建的person类,这个函数的本质用for循环给person的name属性赋值,初始分数,并且在循环中给vector容器存储对象,注意

2021-03-10 23:15:13 47

原创 2021-03-09

deque3.3 deque容器3.3.1 deque容器基本概念功能:·双端数组,可以对头端进行插入删除操作deque与vector区别:. vector对于头部的插入删除效率低,数据量越大,效率越低. deque相对而言,对头部的插入删除速度回比vector快. vector访问元素时的速度会比deque快,这和两者内部实现有关3.3.2 deque构造函数功能描述:. deque容器构造函数原型:deque deqT;//默认构造形式deque(beg, end);//构造

2021-03-10 16:36:22 24

原创 container

c++ vector embed#includeusing namespace std;#include#includevoid test() {vector<vector<int>>v;vector<int>v1;vector<int>v2;vector<int>v3;vector<int>v4;for (int i = 0; i < 4;i++) { v1.push_back(i+1); v2.pus

2021-03-07 16:32:44 96

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除