自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

c++

  • 博客(20)
  • 资源 (1)
  • 收藏
  • 关注

原创 c++智能指针share_ptr实现

#include <iostream>using namespace std;template<class T>class SmartPtr{public: SmartPtr(T* const p); SmartPtr(const SmartPtr<T>& orig); ~SmartPtr(); SmartPtr& oper...

2019-07-24 20:24:25 235

原创 STL list迭代器实现

listlist是一个线性双向链表结构,它的数据由若干个节点构成,每一个节点都包括一个信息块(即实际存储的数据)、一个前驱指针和一个后驱指针。它无需分配指定的内存大小且可以任意伸缩,这是因为它存储在非连续的内存空间中,并且由指针将有序的元素链接起来。由于其结构的原因,list 随机检索的性能非常的不好,因为它不像vector 那样直接找到元素的地址,而是要从头一个一个的顺序查找,这样目标元素越靠...

2019-07-18 16:53:40 1086 2

原创 生成带权重的随机数

2随机从10个数里面随机3个出来。每个数有一个权重值.1 概率:80002 概率:10003 概率:5004 概率:105 概率:106 概率:107 概率:108 概率:109 概率:1010 概率:10假设已知随机数生成函数,均匀随机生成一个[min, max]区间的数int myRand(int min, int max);...

2019-07-18 15:27:06 2111 1

原创 从1到100随机20个不重复的数字出来c++

//从1到100随机20个不重复的数字出来//已有下面函数,随机生成一个[min, max]的数int myRand(int min, int max);一开始想的是使用set和vector来保存已经随机生成的数,每次要生成新的数的时候,就要通过set来判断是否已经重复。void Get20RandomNum(){ //集合,用来判断数字是否存在,加快查询 set<int&g...

2019-07-18 15:23:57 5593

原创 实现自己的STL配置器allocator

实现自己的STL配置器STL所有数据都存储在容器之中,而容器需要配置空间以置放资料,所以配置器就是完成这一个任务的。以下是它的一些接口allocator::value_type//类型,如intallocator::pointer//指针,如int *allocator::const_pointerallocator::referenceallocator::const_...

2019-07-17 15:02:55 646 1

原创 c++数组名,数组地址和指针

今天在牛客网上遇到一道神奇的题目:下面代码的输出结果是?void main(void){ int a[5]={1,2,3,4,5}; int *ptr=(int *)(&a+1); printf("%d,%d",*(a+1),*(ptr-1));}这么一个大坑,我当然做错了,后来在vs上调试:void fun(){ int a[5] = { ...

2019-03-29 20:28:35 2228

原创 现代操作系统mindmap

书本是《现代操作系统》第三版现代操作系统进程和线程进程进程模型包括程序计数器寄存器变量的当前值进程和程序创建进程四种主要事件 - 系统初始化 - 守护进程 - 前台进程一个批处理作业的初始化仅在大型机的批处理系统中应用执行了正在运行的进程的调用进程创建系统调用用户请求创建一个新进程unixfork...

2019-03-29 20:04:15 182

原创 虚幻四源码阅读UObjectBase,UObjectBaseUtility,UObjectBase

新手,有错请指出,大家共同进步ObjectUObjectBase说明Unreal中UObject的基类属性类型名字说明EObjectFlagsObjectFlagsObjectFlags是用于跟踪和记录对象的各种状态,它被引擎用于表示对象加载、保存、编辑、垃圾回收和对象作用标识时候使用。简单地说,就是一个标记信息。int32InternalIndex...

2019-03-19 08:51:21 1139

原创 数据结构思维导图

数据结构复习时候总结的,可以参考一下,大家可作提纲用(只记录了我认为比较重要或者比较复杂的,有错欢迎指出)另外.xmind文件上传正在审核中。。...

2019-03-11 15:11:44 741

原创 leetcode 电话号码的字母组合

给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例:输入:“23”输出:[“ad”, “ae”, “af”, “bd”, “be”, “bf”, “cd”, “ce”, “cf”].说明:尽管上面的答案是按字典序排列的,但是你可以任意选择答案输出的顺序。用递归的方法求出来:class Sol...

2019-02-19 22:11:23 475

原创 leetcode 二叉搜索树中第K小的元素

给定一个二叉搜索树,编写一个函数 kthSmallest 来查找其中第 k 个最小的元素。说明:你可以假设 k 总是有效的,1 ≤ k ≤ 二叉搜索树元素个数。示例 1:输入: root = [3,1,4,null,2], k = 13/ 1 42输出: 1示例 2:输入: root = [5,3,6,2,4,null,null,1], k = 35/ 3 6...

2019-02-18 21:44:12 257

原创 leetcode 二叉树的锯齿形层次遍历

给定一个二叉树,返回其节点值的锯齿形层次遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。例如:给定二叉树 [3,9,20,null,null,15,7],3/ 9 20/ 15 7返回锯齿形层次遍历如下:[[3],[20,9],[15,7]]解:我们可以先把二叉树每一层的节点存储到二维数组中,然后按照从左往右或从右往左的顺序把...

2019-02-18 20:38:18 351

原创 leetcode 三数之和

给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[[-1, 0, 1],[-1, -1, 2]]暴力求解的话,判断重复很麻烦。。。所...

2019-02-12 12:28:28 126

原创 leetcode 单值二叉树

如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树。只有给定的树是单值二叉树时,才返回 true;否则返回 false。示例 1:输入:[1,1,1,1,1,null,1]输出:true示例 2:输入:[2,2,2,5,2]输出:false提示:给定树的节点数范围是 [1, 100]。每个节点的值都是整数,范围为 [0, 99] 。不多说。。。上代码/** ...

2019-02-11 22:55:02 234

原创 leetcode 最大宽度坡

给定一个整数数组 A,坡是元组 (i, j),其中 i &amp;amp;lt; j 且 A[i] &amp;amp;lt;= A[j]。这样的坡的宽度为 j - i。找出 A 中的坡的最大宽度,如果不存在,返回 0 。示例 1:输入:[6,0,8,2,1,5]输出:4解释:最大宽度的坡为 (i, j) = (1, 5): A[1] = 0 且 A[5] = 5.示例 2:输入:[9,8,1,0,1,9,4,0...

2019-02-11 20:46:42 485 1

原创 leetcode 求众数

给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在众数。示例 1:输入: [3,2,3]输出: 3示例 2:输入: [2,2,1,1,1,2,2]输出: 2class Solution {public: int majorityElement(vector&lt;int&gt;&...

2019-02-06 23:34:24 281

原创 leetcode 求众数 II

给定一个大小为 n 的数组,找出其中所有出现超过 ⌊ n/3 ⌋ 次的元素。说明: 要求算法的时间复杂度为 O(n),空间复杂度为 O(1)。示例 1:输入: [3,2,3]输出: [3]示例 2:输入: [1,1,1,3,3,2,2,2]输出: [1,2]class Solution {public: vector&amp;lt;int&amp;gt; majorityElement(...

2019-02-06 23:27:17 120

原创 leetcode 字符串转换整数 (atoi)

请你来实现一个 atoi 函数,使其能将字符串转换成整数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。该字符串除了有效的整数部分之后也可能会存在多余的字符,这些字符可以被忽...

2019-01-26 00:00:16 282

原创 leetcode 两数相加

给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -&gt; 4 -&gt; 3) + (5 -&gt; 6 -&gt; 4)输出:7 -&gt; 0 -&gt; ...

2019-01-25 22:42:34 133

原创 leetcode Z 字形变换

将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 “LEETCODEISHIRING” 行数为 3 时,排列如下:之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“LCIRETOESIIGEDHN”。请你实现这个将字符串进行指定行数变换的函数:string convert(string s, int numRows);示例 1:...

2019-01-25 22:25:19 142

数据结构思维导图

数据结构复习时候总结的,可以参考一下,作提纲用(只记录了我认为比较重要或者比较复杂的,有错欢迎指出)

2019-03-11

空空如也

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

TA关注的人

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