自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 内存寻址相关知识

一个内存条包含一个Rank,一个Rank包含8个Chip,一个Chip包含8个Bank,在Bank这里可以通过行和列进行地址的索引

2021-11-21 03:28:57 180

转载 Go语言字符串的字节长度和字符个数

有趣的面试题:Go语言字符串的字节长度和字符个数

2021-11-21 01:10:59 194

转载 Linux配置go环境

https://www.jianshu.com/p/33cf4f41cae9

2021-06-11 15:04:18 110

转载 sizeof和strlen的区别

sizeof和strlen的区别

2020-12-05 21:55:29 60

转载 链表求是否有环,环长以及链表长度

添加链接描述

2020-10-13 16:08:14 72

原创 直插排序c++实现

void insertSort(vector<int>& arr, int n){ for(int i = 1; i < n; i++){ int key = arr[i]; int j = i - 1; while(j >= 0 && arr[j] > temp){ arr[j + 1] = arr[j]; j--; } arr[j + 1] = temp; }}

2020-10-12 16:21:51 81

原创 堆排序c++实现

void heapSort(vector<int>& arr, int n){ //初始化堆,使其形成大顶堆 for(int i = n / 2 - 1; i >= 0; i--){ adjust(arr, n, i); } for(int i = n - 1; i >= 0; i--){ int temp = arr[i]; arr[i] = arr[0]; arr[0] = temp; adjust(arr, i, 0); }}void

2020-10-11 21:52:33 1133

原创 归并排序c++实现

void mergeSort(vector<int>& arr, int low, int high){ if(low >= high) return; int mid = (low + high) / 2; mergeSort(arr, low, mid); mergeSort(arr, mid + 1, high); vector<int>vec(arr.size()); int s = 0; int i = low; int j = mid +

2020-10-11 19:36:47 52

原创 快速排序c++代码实现

void quickSort(vector<int>& arr, int low, int high){ if(low >= high) return; int key = arr[low]; int l = low; int h = high; if(l < h){ while(l < h){ while(l < h && arr[h] < key){ arr[l++] = arr[h]; } w

2020-10-11 19:28:06 107 1

原创 希尔排序c++实现

void ShellSort(vector<int>& array){ int number = array.size() / 2; int i, j, temp; while(number >= 1){ for(i = numner; i < array.size(); i+=1){ temp = array[i]; j = i - number; while(j >= 0 && array[j] < temp){

2020-10-11 18:07:53 134

原创 字节游戏客户端一面凉经

1、简历上的项目由于简历上有UE4,问了一些UE4的问题2、图形学:①渲染流程②齐次坐标的原因3、c++①malloc、free和new、delete的区别②static_cast和dynamic_cast,以及它们的区别③智能指针(主要介绍shared_ptr、uniqued_ptr)④多态⑤vector和list的区别⑥map和unordered_map的区别、哈希冲突4、算法题链表排序...

2020-09-24 18:36:24 154

转载 链表排序

1.实现思路与数组归并排序相同,主要分为以下三个步骤:一、找到链表中点。最常用的方法是双指针法;二、递归左半链表及右半链表。数组有很好的随机访问特点,因此传递索引来实现递归左子区间和右子区间;而在链表中,是顺序访问的,但是链表的插入删除是很方便的,因此考虑直接将链表从中间“打断”,然后递归“打断”后的两个链表。三、合并链表。经②后的两个链表递归结束后必定都是有序的,因此这里就是对两个有序链表进行合并,可参考此处。另外一方法是递归合并,升序递归中,先找到两个链表中较小结点所在链表,将该链表剩下部分与另

2020-09-22 18:55:47 3159

转载 TCP 连接的“ 三次握手 ”与“ 四次挥手 ”

TCP 连接的“ 三次握手 ”与“ 四次挥手 ”

2020-09-17 15:05:05 39

原创 哈希表实现原理、扩容机制c++

哈希表概念和实现,C/C++实现总结:哈希表通过散列表实现,在存储位置和关键字之间建立一个确定的关系f,使得每个关键字key对饮一个存储位置f(key),查找时,通过这个确定的关系f,根据给定的key找到映射的位置f(key)常用的散列函数:除留余数法哈希冲突两个不同的key有相同的f(key)解决方法:1、开放定址法2、链地址法(扩容:默认数组大小为16,存放量超过数组0.75时,数组大小翻倍)HashMap实现原理和扩容机制java中哈希表由数组+链表组成...

2020-09-17 10:28:40 2054

转载 数组和链表的区别以及应用场景

数组和链表的区别以及应用场景

2020-09-17 08:53:10 635

转载 c++中static的作用

c++中static的作用

2020-09-17 00:44:34 39

转载 strcpy()与strncpy()的区别

strcpy()与strncpy()的区别

2020-09-17 00:32:56 51

转载 右值引用与移动语义&move

https://www.jianshu.com/p/31cea1b6ee24

2020-09-10 16:10:50 52

原创 构造函数为什么不可以声明为虚函数,而析构函数可以

构造函数为什么不可以声明为虚函数虚函数采用一种虚调用的办法。虚调用是一种可以在只有部分信息的情况下工作的机制,特别允许我们调用一个只知道接口而不知道其准确对象类型的函数。但是如果要创建一个对象,你势必要知道对象的准确类型,因此构造函数不能为虚函数。Bjarne Stroustrup的FAQ上有说,虚拟调用是一种能够在给定信息不完全(given partialinformation)的情况下工作的机制。特别地,虚拟允许我们调用某个函数,对于这个函数,仅仅知道它的接口,而不知道具体的对象类型。但是要

2020-09-03 17:12:49 126

原创 网易互娱初级游戏开发一面

8.25一面,笔试AC了两道在面试前跟面试过的同学交流了一下,人家是先给一道算法题做半个小时的时间,然后分c++、计网、操作系统、数据结构几个板块面试了一个小时,可是我的面试官不知道是太水还是只是想冲kpi,就只是问了几个c++的问题,接着就着简历上的随便问问,就问了半个小时,以至于最后反问环节结束之后,他问我还有什么问题,我还问他面试就只到这里吗orz---------------------------------正文分割线--------------------------------------

2020-08-31 17:33:57 437

转载 C++中未初始化的数组的默认值问题

整型数组全局数组,未初始化时,默认值都是 0;局部数组,未初始化时,默认值为随机的不确定的值;局部数组,初始化一部分时,未初始化的部分默认值为 0;char 型数组全局数组,未初始化的部分,默认值为 ‘ ’ ;局部数组,初始化一部分后,未初始化部分默认值为 ‘ ’ ;局部数组,未初始化时,默认值不可预知。double ,float 型数组全局数组,未初始化时,默认值都是 0.0;局部数组,未初始化时,默认值为随机的不确定的值;局部数组,初始化一部分时,未初始化的部分默认值为

2020-08-07 17:18:26 5648 2

原创 最长回文子串(动态规划与中心扩展法)

最长回文子串力扣中的题目给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: “babad” 输出: “bab” 注意: “aba” 也是一个有效答案。 示例 2:输入: “cbbd” 输出: “bb”来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/longest-palindromic-substring目前已有的解法中「暴力算法」是基础,「动态规划」必须掌握,「中心扩散」方法要会

2020-07-28 15:59:27 118

原创 HTTP请求报文与响应报文

自用HTTP协议是以ASCII码传输,建立TCP/IP协议之上的应用层规范。http请求报文规范把HTTP请求分为三个部分:状态行、请求头、消息主体<method> <request-URL> <version> //状态行<headers> //请求头<entity-body&g...

2020-04-21 00:41:46 95

原创 js this指向

情况1:如果一个函数中有this,但是它没有被上一级的对象所调用,那么this指向的就是window,这里需要说明的是在js的严格版中this指向的不是window情况2:如果一个函数中有this,这个函数有被上一级的对象所调用,那么this指向的就是上一级的对象。情况3:如果一个函数中有this,这个函数中包含多个对象,尽管这个函数是被最外层的对象所调用,this指向的也只是它上一级的对象...

2020-04-20 00:40:48 82

原创 http1.0, 1.1与2.0区别

自用,有时间进行详细解释http1.0:每次请求都要创建连接,若要创建长连接,需使用keep-alive参数来告知服务器要建立一个长连接;不支持只发送某个对象的一部分,浪费带宽;缓存主要使用header里面的if-modifed-since和expires作为缓存判断的标准http1.1:支持长连接和请求的流水线处理,在一个tcp连接上可以传送多个HTTP请求和响应;可以只发送header信...

2020-04-20 00:15:11 112

原创 let var const区别

const定义的变量不可以修改,而且必须初始化var定义的变量可以修改,不初始化会输出undefinedlet是块级作用域,函数内部使用let定义后,对函数外部无影响没有声明的变量是全局变量,可以delete...

2020-04-19 23:57:23 159

原创 浏览器缓存简单理解

浏览器访问资源时有三种情况:第一次访问该资源,直接发送请求给服务器不是第一次访问,并且浏览器中该资源还未失效,直接访问浏览器中的资源——称为强缓存不是第一次访问,并且浏览器中该资源已失效,发送请求到服务器,判断该资源在服务器中是否已修改:若未修改,则继续使用浏览器中的资源若已修改,则...

2020-04-19 23:28:54 99

原创 js new操作——实际上实现了什么

new操作最终实现的是创建一个对应特定的构造函数的对象instance = new constructor(); 创建的过程:1. 首先创建一个空对象instance = new Object()2. 将该对象的原型指向构造函数的原型对象,设置原型链将创建的对象与要对应的构造函数利用原型连接起来设置原型链(当调用构造函数创建一个新实例后,该实例的内部将包含一个指针(内部属性),...

2020-04-19 01:18:49 93

原创 js 基本数据类型和复杂数据类型

5种基本数据类型:String null undefined boolean number1种复杂数据类型:object其中null的数据类型是object

2020-04-18 14:58:44 427

原创 js区分数组、字符串类型

使用 typeof 和 constructor 共同判断,数组 = object + Array,字符串 = string + String一.判断是否为数组类型 二.判断是否为字符串类型 参考内容链接

2020-04-18 14:56:01 826

原创 阿里面经——前端电话面试

1、prototype原型链原型prototype简介原型是函数的一个属性,也是一个对象可通过prototype创建对象,创建的对象共享原型的所有属性原型、对象、原函数、原型的构造函数constructor之间的四种关系原函数可创建对象原函数的prototype指向原型原型的构造函数指向bottle即原函数创建的对象的原型指向原型(可理解为依赖)原型创建对象的缺点:...

2020-04-10 22:38:45 272

原创 http常见状态码

http状态码分为五类常见的状态码如下:200 - 请求成功301 - 资源(网页等)被永久转移到其它URL,客户端更新URL302:资源(网页等)暂时转移到其他URL,客户端仍保留原来的URL404 - 请求的资源(网页等)不存在500 - 内部服务器错误...

2020-04-06 21:12:13 81

原创 clearfix清除浮动

要使用clearfix清除浮动,首先了解为什么使用要清除浮动浮动的缺点浏览器的浮动通常使用float实现,但使用了float的子元素无法正常撑开父级元素,如下图所示:父级元素没被撑开会有什么影响,使用一个常见的footer例子来说明我们可以看到footer的布局方式并不是我们想要让它做的,原因是footer原本的位置被左边的浮动内容给占据,为了让footer置于底部,便需要清除foot...

2020-04-05 22:18:03 234

空空如也

空空如也

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

TA关注的人

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