4 gubaofu

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 13w+

数据结构与算法书籍推荐

链接:https://www.zhihu.com/question/324033409/answer/688744392入门:《大话数据结构》和《算法图解》《大话数据结构》这本书最大的特点是,它把理论讲得很有趣,不枯燥。而且每个数据结构和算法,作者都结合生活中的例子进行了讲解,能让你有非常直观的感受。虽然这本书有400多页,但是花两天时间读完,应该是没问题的。如果你之前完全不懂数据结构和算...

2020-04-21 17:58:26

C/C++ typedef 详解

参考:typedef的四个用途和两大陷阱:http://blog.sina.com.cn/s/blog_4826f7970100074k.html1、4个用途:(1)简化定义,避免错误,直观、省事。 typedef定义一种类型的别名,而不只是简单的宏替换。可同时声明指针型的多个对象。比如:同时声明两个指针char* pa, pb; // 错误,它只声明了...

2020-04-16 14:27:05

右左法则_理解复杂类型声明

右左法则_理解复杂类型声明理解复杂声明–右左法则:从变量名看起,先往右,再往左,碰到一个圆括号就调转阅读的方向;括号内分析完就跳出括号,还是按先右后左的顺序,如此循环,直到整个声明分析完。举例:int (*func)(int *p);首先找到变量名func,外面有一对圆括号,而且左边是一个*号,这说明func是一个指针;然后跳出这个圆括号,先看右边,又遇到圆括号,这说明(*func)是一...

2020-04-16 14:46:44

指针常量和常量指针辨析

1、“常量指针”的英文是“const pointer”,指针本身是常量,不能改变指向,例如:int * const p; // 常量指针2、“指针常量”的英文是“pointer to const”,其实应该翻译为“指向常量的指针”(一些经典的书籍都是这样翻译的,只是国内乱七八糟 的书籍太多,有些作者直译成了“指针 常量”,to被吃了),指向的内容是常量,指向的内容不可改变,例如:c...

2020-04-15 12:24:11

大端模式和小端模式区别与检测

大端模式和小端模式背景在内存中一个地址存储一个字节(Byte)的数据,即8位。一个int型数据有32位,需要占用4Byte的空间,那么应该怎么存储int的数据呢?是高位先存储还是低位先存储?因此产生了两种不同的模式,即大端模式和小端模式。是什么大端模式:高位先存,数据的高位(即大端)存在低地址;小端模式:低位先存,数据的低位(即小端)存在低地址。举例子例如:in...

2020-04-14 19:31:58

一次搞懂红黑树的插入和删除

红黑树一、产生背景BST(binary search tree 二叉搜索树)树的的平衡性问题: 如果插入BST中数据顺序随机,则平衡性较好。 如果插入BST中数据顺序有序,则平衡性很差,是一条顺序链。 为了改进BST的平衡性产生了红黑树。二、基本概念红黑树(red-black tree,简称RB-tree) 红黑树是自平衡的BST,是BST的扩充二叉树。 结点颜色:结...

2020-03-24 11:51:41

网上的知识怎么学?学习资料要保存吗?

最近在网上看的学习资料有点多,总感觉时间不够用,每天都感觉很疲惫。这绝不是一个好的状况,要静下心来想想如何继续以后的学习。(1)知识爆炸:问题:知识太多,网络上的网站、视频、书籍、博客等学习内容,浩如烟海,是不可能看完,更不可能学完。原因:网络可以搜索到海量的学习资料。网络中存在大量无用或低价值的知识。解决方法:明确目标,做好学习计划。只有目标明确,才能知道自己要学...

2020-03-12 13:05:49

外部排序

目录1、应用场景 (1)问题:(2)解决方案:2、外排序 归并排序3、优化策略 (1)分析 (2)多路归并1、应用场景(1)问题: 给你一个包含20亿个int类型整数的文件,计算机的内存只有2GB,怎么给它们排序?一个int数占4个字节,20个亿需要80亿字节,大概占用8GB的内存,而...

2020-03-10 23:26:26

C# Thread启动线程时传递参数

转载:https://www.cnblogs.com/Liyuting/p/9087216.htmlC# 往线程里传参数的方法总结Thread (ParameterizedThreadStart) 初始化 Thread 类的新实例,指定允许对象在线程启动时传递给线程的委托。Thread (ThreadStart) 初始化 Thread 类的新实例。由 .NET C...

2020-03-04 10:51:38

git GitHub仓库绑定

1、使用Git建立本地仓库,加入文件。2、在GitHub上建立一个空仓库。3、使用Git GUI将本地仓库绑定到GitHub上的仓库。 打开Git GUI,菜单栏中Remote --> Add,填入远程分支名称和远程仓库地址。点击Add,即可建立远程分支和远程仓库绑定。...

2020-02-26 15:44:50

托管代码与非托管代码

解释:托管代码 (managed code) 由公共语言运行库环境(而不是直接由操作系统)执行的代码。托管代码应用程序可以获得公共语言运行库服务,例如自动垃圾回收、运行库类型检查和安全支持等。这些服务帮助提供独立于平台和语言的、统一的托管代码应用程序行为。如C#、Java。非托管代码 (unmanaged code)在公共语言运行库环境的外部,由操作系统直接执行的代码。非托管代码必须提供自...

2020-02-25 16:40:53

C# overload重载 override重写 区别

1、overload(1)overload 即 重载,就是函数名相同,函数参数不同,和C++中的重载一样,没什么需要多说。(2)举例:// overload:重载,函数名相同,参数不同。public string ToString(){return "a";}public string ToString(int id){return id.ToString();}2、overr...

2020-02-02 11:23:31

C# HashTable和HashMap

https://blog.csdn.net/WuLex/article/details/88239424在.Net模仿java的过程中抛弃了HashMap,所以以后再去面试.Net的时候当别人问你HashTable和HashMap的区别的时候,请告诉他,C#.Net 中 没有HashMap...

2020-02-01 17:32:06

C# 扩展方法

参考:https://www.w3cschool.cn/csharp/csharp-extension-methods.html1、C# 扩展方法扩展方法可以用新方法扩展现有类型改变原始类型的定义,也就是说,可以给已经定义好的类型添加额外的方法,可以像成员方法一样调用。扩展方法是静态类的静态方法,其中this修饰符应用于第一个参数。第一个参数的类型就是扩展的类型。例如:// ...

2020-02-01 15:59:02

C# unsafe不安全代码

1、C#不安全代码:当一个代码块使用unsafe修饰符标记时,C# 允许在函数中使用指针变量。不安全代码或非托管代码是指使用了指针变量的代码块。补充:什么是受管制(托管)的代码?托管代码是运行.NET 公共语言运行时CLR的代码。unsafe:非托管代码,不经过CLR运行,程序员自行分配和释放内存空间。2、在同一个声明中声明多个指针时,星号*仅与基础类型一起写入;而...

2020-02-01 11:47:52

C# 匿名方法

1、匿名方法:匿名方法(Anonymous methods)提供了一种传递代码块作为委托参数的技术。匿名方法是没有名称只有主体的方法。在匿名方法中您不需要指定返回类型,它是从方法主体内的 return 语句推断的。语法举例:delegate void NumberChanger(int n);...NumberChanger nc = delegate(int x...

2020-02-01 11:25:58

C# Generic泛型

泛型特点:重用代码(使用泛型的目的)。 保护类型的安全(没有object对象的强制类型转换)。 提高性能(对比object对象的装箱拆箱)。 创建泛型集合类。.NET 框架类库在System.Collections.Generic空间中包含了一些泛型集合类。可用来替代System.Collections中的集合类。 创建泛型接口和类、泛型方法、泛型委托和事件。 可以对泛型类进...

2020-02-01 11:08:36

C# Collection 集合

集合类型有:(1)数组、动态数组(ArrayList)、列表(List<>);(2)哈希表(Hashtable)、排序列表(SortedList);(3)堆栈(stack)、队列(queue);(4)点阵列(BitArray)。(5)泛型集合:(命名空间:System.Collections.Generic) List<>、HashSet&l...

2020-01-17 23:27:01

C# Indexer 索引器

参考:https://www.w3cschool.cn/csharp/csharp-indexer.html1、索引器(Indexer)索引器(Indexer)使一个对象可以像数组一样被索引。当类中定义一个索引器时,该类对象就可以当做一个虚拟数组(virtual array)。可以使用数组访问运算符([ ])来访问内容。2、语法一维索引器的语法如下(使用访问器get_set):...

2020-01-16 15:29:17

匈牙利命名法 介绍 淘汰分析及取舍

1、是什么匈牙利命名:开头字母用变量类型的缩写,其余部分用变量的英文单词或缩写,要求英文单词首字母大写。例如:int iMyAge; // “i”是int类型的缩写;char cMyName[10]; // “c”是char类型的缩写;float fManHeight; // “f”是float类型的缩写;2、为什么淘汰优点:能够通过变量的名字来识别变量的类型,而不必去查...

2020-01-15 17:48:59

查看更多

勋章 我的勋章
  • 领英
    领英
    绑定领英第三方账户获取
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 技术圈认证
    技术圈认证
    用户完成年度认证,即可获得
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 分享学徒
    分享学徒
    成功上传1个资源即可获取