10 2022 档案

摘要:总结:进程是所有线程的集合,每一个线程是进程中的一条执行路径; 例如在有WiFi的情况下,使用爱奇艺下载多部电影,运行爱奇艺软件就是一个进程,多个路径下载多部电影就是不同的线程。 每个正在系统上运行的程序都是一个进程。每个进程包含一到多个线程。线程是一组指令的集合,或者是程序的特殊段,它可以在程序里 阅读全文
posted @ 2022-10-31 18:54 香花草的味道 阅读(264) 评论(0) 推荐(0) 编辑
摘要:class Solution { public: // 此处为自定义的reverse函数,其翻转为左闭右闭[]的翻转 void reverse(string &s, int start, int end) { for(int i = start, j = end; i < j; i++, j--) 阅读全文
posted @ 2022-10-31 17:05 香花草的味道 阅读(17) 评论(0) 推荐(0) 编辑
摘要:1.reverse函数使用 函数功能:将序列[first,last)的元素在原容器中颠倒重排,包含在algorithm库中 reverse没有返回值 时间复杂度为O(n) 示例1:交换vector容器中元素的顺序 vector<int> v = {5,4,3,2,1}; reverse(v.begi 阅读全文
posted @ 2022-10-31 10:36 香花草的味道 阅读(152) 评论(0) 推荐(0) 编辑
摘要:unique_ptr使用技巧 阅读全文
posted @ 2022-10-30 20:01 香花草的味道 阅读(13) 评论(0) 推荐(0) 编辑
摘要:独占指针:unique_ptr unique_ptr 在任何给定的时刻,只能有一个指针管理内存 当指针超出作用域时,内存将自动释放 该类型指针不可Copy,只可以Move 运行结果 没有运行delete故没有调用析构函数 模板参数AA表示需要管理的普通指针的基类型是AA; p表示被管理的指针,p指向 阅读全文
posted @ 2022-10-30 17:21 香花草的味道 阅读(70) 评论(0) 推荐(0) 编辑
摘要:C++指针分类 原始指针(raw pointer) 智能指针:智能指针是原始指针的封装,其优点是会自动分配内存,不用担心潜在的内存泄露 并不是所有的指针都可以封装成智能指针,很多时候原始指针要更方便 各种指针中,最常用的是裸指针,其次是unique_ptr和shared_ptr weak_ptr是s 阅读全文
posted @ 2022-10-30 16:50 香花草的味道 阅读(113) 评论(0) 推荐(0) 编辑
摘要:原文链接:https://blog.csdn.net/zhang_si_hang/article/details/126398107 阅读全文
posted @ 2022-10-29 13:54 香花草的味道 阅读(17) 评论(0) 推荐(0) 编辑
摘要:class Solution { public: vector<int> twoSum(vector<int>& nums, int target) { std::unordered_map<int, int>map; for(int i = 0; i < nums.size(); i++) { / 阅读全文
posted @ 2022-10-28 21:26 香花草的味道 阅读(23) 评论(0) 推荐(0) 编辑
摘要:new是关键字/操作符,而malloc是函数 new一个对象的时候,不但分配内存,而且还会调用类的构造函数(当然如果类没有构造函数,系统也没有给类生成构造函数,那没法调用构造函数了) 在某些情况下,“A *pa = new A()”可以把对象某些成员变量(如m_i)设置为0,这是new的能力之一,m 阅读全文
posted @ 2022-10-28 20:46 香花草的味道 阅读(34) 评论(0) 推荐(0) 编辑
摘要:基础知识 C++中的存储区分为全局数据区、代码区、堆、栈。 全局数据区存放静态数据、全局变量、常量。 代码区存放所有类成员函数和非成员函数的代码。 栈区存放用于函数的返回地址、形参、局部变量、返回类型。 堆区存放余下的内存(new和delete)。 堆和栈的区别: 申请方式不同:栈是系统自动分配,堆 阅读全文
posted @ 2022-10-28 19:41 香花草的味道 阅读(371) 评论(0) 推荐(0) 编辑
摘要:虚函数是使用virtual关键字说明的函数; 虚函数是实现运行时多态性的基础; C++中的虚函数是动态绑定的函数; 虚函数必须是非静态成员函数,虚函数经过派生之后,就可以实现运行过程中的多态; 阅读全文
posted @ 2022-10-28 16:24 香花草的味道 阅读(108) 评论(0) 推荐(0) 编辑
摘要:多态: 1.多态的概念 字面上理解:多种表现形式 专业术语:C++允许父类的指针或者父类引用指向不同的子类对象,通过这个指针或者引用去调用不同子类的同名方法——>叫做多态; 父类的同名函数在不同的子类中具有不同的表现形式——>叫做多态; 多态要解决的两个问题: 问题一:参数具有通用性 解决方法:C+ 阅读全文
posted @ 2022-10-28 14:32 香花草的味道 阅读(55) 评论(0) 推荐(0) 编辑
摘要:指针作为函数参数传递的一些问题总结: #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <iostream> #include <cstdlib> #include <cstring> using namespace std; v 阅读全文
posted @ 2022-10-28 11:40 香花草的味道 阅读(360) 评论(0) 推荐(0) 编辑
摘要:void* malloc(size_t size); 其中参数size_t size表示动态内存分配空间的大小,以字节为单位。 size_t 是typedef重定义的类型,重定义这样数据类型的作用就是让使用者一目了然,指示使用者这个参数表示一个长度,在size后加上t,表示是整型相关数据类型的, 以 阅读全文
posted @ 2022-10-28 10:46 香花草的味道 阅读(217) 评论(0) 推荐(0) 编辑
摘要:本质 引用是别名,指针是地址 具体分析 从现象上:指针运行的时候可以改变其所指向的值,而引用一旦和某个对象绑定之后就不再改变。指针可以重新被赋值以指向另外一个不同的对象。 但是引用则是总是指向在初始化时被指定的对象,以后不能改变,但是其指定对象的内容可以改变。 从内存分配上:程序未指针变量分配内存区 阅读全文
posted @ 2022-10-28 09:57 香花草的味道 阅读(82) 评论(0) 推荐(0) 编辑
摘要:#include<iostream> #include<unordered_set> using namespace std; // 取数值各个位上的单数平方之和 int getSum(int n) { int sum = 0; while (n) { sum += (n % 10) * (n % 阅读全文
posted @ 2022-10-27 17:11 香花草的味道 阅读(25) 评论(0) 推荐(0) 编辑
摘要:set::find搜索二叉树特性查找,时间复杂度为O(logN) 对比std::find std::find为暴力查找,时间复杂度为O(N) 阅读全文
posted @ 2022-10-27 15:12 香花草的味道 阅读(18) 评论(0) 推荐(0) 编辑
摘要:相同点 push_back()与emplace_back()都是往尾部添加一个元素 不同点 底层实现机制不同: push_back()向容器尾部添加元素时,首先会创建这个元素,然后再将这个元素拷贝或者移动到容器中(如果拷贝的话,事后会自行销毁先前创建的这个元素) emplace_back()在实现的 阅读全文
posted @ 2022-10-27 15:12 香花草的味道 阅读(33) 评论(0) 推荐(0) 编辑
摘要:1.基于范围的for循环的基本语法 在C++11中,为for循环添加了一个container(容器),它就会自动迭代;实现了对于vector型变量vec的内容打印,变量i遍历vector中的每一个元素, 直到vector的结束。 示例: vector<int> vec; //定义一个vector型变 阅读全文
posted @ 2022-10-27 14:48 香花草的味道 阅读(1232) 评论(0) 推荐(1) 编辑
摘要:![](https://img2022.cnblogs.com/blog/2673551/202210/2673551-20221027120845314-464201030.png) 阅读全文
posted @ 2022-10-27 12:09 香花草的味道 阅读(8) 评论(0) 推荐(0) 编辑
摘要:暴力的解法,两层for循环,同时还要记录字符是否重复出现,很明显时间复杂度是 O(n^2) 利用哈希表解法 class Solution { public: bool isAnagram(string s, string t) { // 定义hash数组 int num = 26; int hash 阅读全文
posted @ 2022-10-27 11:00 香花草的味道 阅读(19) 评论(0) 推荐(0) 编辑
摘要:哈希表讲解参考连接: 原文链接:https://blog.csdn.net/weixin_40535588/article/details/121480672 此处源于代码随想录 哈希表的关键码就是数组的索引下标,然后通过下标直接访问数组中的元素 哈希表能解决什么问题? 一般哈希表都是用于快速判断一 阅读全文
posted @ 2022-10-27 10:58 香花草的味道 阅读(18) 评论(0) 推荐(0) 编辑
摘要:class Solution { public: ListNode *detectCycle(ListNode *head) { ListNode* fast = head; ListNode* slow = head; while(fast != NULL && fast->next != NUL 阅读全文
posted @ 2022-10-27 10:00 香花草的味道 阅读(14) 评论(0) 推荐(0) 编辑
摘要:class Solution { public: ListNode* deleteback(ListNode*head, int n) { ListNode* dummyHead = new ListNode(0); dummyHead->next = head; ListNode* fast = 阅读全文
posted @ 2022-10-27 09:47 香花草的味道 阅读(11) 评论(0) 推荐(0) 编辑
摘要:#include<iostream> using namespace std; struct ListNode { int val; ListNode* next; ListNode(int val) :val(val), next(NULL) {}; }; // 根据数组创建链表 ListNode 阅读全文
posted @ 2022-10-26 19:54 香花草的味道 阅读(21) 评论(0) 推荐(0) 编辑
摘要:#include<iostream> #include<list> using namespace std; struct ListNode { int val; // 节点上存储的元素 ListNode* next; // 指向下一个节点的指针 ListNode(int x) : val(x), 阅读全文
posted @ 2022-10-26 19:04 香花草的味道 阅读(28) 评论(0) 推荐(0) 编辑
摘要:struct ListNode { int val; ListNode* next; ListNode(int val) :val(val), next(NULL) {}; }; class Solution { public: ListNode* reverseList(ListNode* hea 阅读全文
posted @ 2022-10-26 16:55 香花草的味道 阅读(15) 评论(0) 推荐(0) 编辑
摘要:#include<iostream> using namespace std; /* 1.获取第n个节点的值 2.头部插入节点 3.尾部插入节点 4.第n个节点前插入节点 5.删第n个节点 */ class MyLinkList { public: // 定义链表节点结构体 struct Linke 阅读全文
posted @ 2022-10-26 16:55 香花草的味道 阅读(60) 评论(0) 推荐(0) 编辑
摘要:i++是指先使用i,使用之后再将i的值加一 ++i是先将i的值加1,然后再使用 阅读全文
posted @ 2022-10-26 09:57 香花草的味道 阅读(113) 评论(0) 推荐(0) 编辑
摘要:1. vector的初始化方式 vectora(10);定义10个整形元素的向量(每个元素的初值为0) vectora(10,1);定义10个整形元素的向量(每个元素的初值为1) vectora(b);用b向量创建a向量,整体复制性赋值 vectora(b.begin(),b.begin()+3); 阅读全文
posted @ 2022-10-25 21:03 香花草的味道 阅读(22) 评论(0) 推荐(0) 编辑
摘要:当创建对象时,自动调用构造函数,构造函数名字与类名相同,没有返回类型和返回值 一、构造函数作用 1.给对象一个标识符 2.为数据成员开辟内存空间 3.完成数据成员的初始化工作(函数体内的工作,由程序员完成) 二、构造函数分类 构造函数分为有参构造和无参构造,并且构造函数支持重载,其中构造函数重载,在 阅读全文
posted @ 2022-10-25 20:04 香花草的味道 阅读(130) 评论(0) 推荐(0) 编辑
摘要:C++ 中返回值为指针或者引用的时候,不可以返回局部变量的指针或者引用,因为当此段代码块执行完之后,相应的局部变量, 就会被系统释放,指针所指向的那块内存会被操作系统用来做其他事情,当使用该指针就会报错; 错误示例 int* aa() { int a = 666; return &a; } int 阅读全文
posted @ 2022-10-23 11:01 香花草的味道 阅读(565) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示