自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 golang学习5 循环篇(从c++到golang)

c++的循环方式很多,for,while,do while,但是,go只有一种,for,你刚开始也许会觉得震惊,但很快就会发现其实自己并不需要那么多种循环方式c++:for (int i=0;i<10;++i){}go:for i:=0;i<10;i++{//省略小括号,没有++i,{必须压进for这一行,go的普通for循环和c++的基本一样}c++:whi...

2020-03-13 21:04:15 155

原创 golang学习3 if篇(从c++到golang)

if语句是c++和go中都有的语句,但是go的要严格的多if x==0{//可以加小括号,但是没必要——go鼓励简洁,所以小括号能省则省//无论语句多长必须有大括号}else if //else必须跟在}后,可以接if也可以接{顺便一提:go语言还支持在判断前加变量赋值(和c++的for循环似曾相识不是吗)if value,err = somefunc(param) ; err =...

2020-03-13 21:03:55 152

原创 golang学习2变量篇(从c++到golang)

相比起c++,golang的变量赋值,初始化种类都要多c++://变量类型 变量名 = 初始值int temp=32go的方式就很多了://以下四种表达是等价的s := ""var s stringvar s = ""var s string = ""至于这四种的区别,借用《The Go Programming Language》的说法:“Why should you p...

2020-03-13 21:03:27 173

原创 golang学习1:导包篇(从c++到golang)

go语言的语法和c++非常相近,但是又有很多不同,现在我们一点点分析其中的同和不同导包:c++//一般导入(include<>先在标准库查找对应包,再在当前文件查找)#include<包名1>#include<包名2>//相对位置导入(include""导入与当前文件同一文件夹的文件)#include"文件名"//golang://单个包...

2020-03-13 21:03:05 293

原创 tx实习生一面凉经(预备)

刚开场自我介绍,问项目,因为我简历里有c++stl实现,所以问了内存池,问的很细c++多态?c++没有成员的类占空间吗?占多大?手写代码:memmove(char* str1,const char* str2){}这题的主要难点在于str1和str2内存部分可能有重叠,我没想到怎么解决——我太菜了!!手写代码:翻转句子中的单词:“hello world”——“world hello”...

2020-03-13 17:15:39 235 1

原创 tinystl实现(第二十七步:graph实现)

经过长时间的学习终于可以开始tinystl的仿(chao)写工作了,本文参考了这位大神的github,坦白讲我只是补充了注释,因为tinystl的代码真的非常经典而我又没什么这种大型项目的经验,所以只能这样做,不过相信能够有助于大家的学习#强烈建议按顺序阅读本专栏.h#pragma once#ifndef _GRAPH_H_#define _GRAPH_H_#include "Ite...

2019-12-04 17:46:27 311

原创 tinystl实现(第二十六步:circularbuffer实现)

经过长时间的学习终于可以开始tinystl的仿(chao)写工作了,本文参考了这位大神的github,坦白讲我只是补充了注释,因为tinystl的代码真的非常经典而我又没什么这种大型项目的经验,所以只能这样做,不过相信能够有助于大家的学习#强烈建议按顺序阅读本专栏circularbuffer,中文名环状数组,当存储超出范围时会从头开始存储(覆盖之前的数据)的数组,其实现并不困难。.h文件#...

2019-12-04 09:17:56 363

原创 tinystl实现(第二十五步:bitmap实现)

经过长时间的学习终于可以开始tinystl的仿(chao)写工作了,本文参考了这位大神的github,坦白讲我只是补充了注释,因为tinystl的代码真的非常经典而我又没什么这种大型项目的经验,所以只能这样做,不过相信能够有助于大家的学习#强烈建议按顺序阅读本专栏bitmap的实现方法非常有趣,对于一个byte中的每一位进行分别操作,从而达到了记录大量01bool值的效果.h文件#prag...

2019-12-03 15:32:41 143

原创 tinystl实现(第二十四步:字典树实现)

经过长时间的学习终于可以开始tinystl的仿(chao)写工作了,本文参考了这位大神的github,坦白讲我只是补充了注释,因为tinystl的代码真的非常经典而我又没什么这种大型项目的经验,所以只能这样做,不过相信能够有助于大家的学习#强烈建议按顺序阅读本专栏.h文件#pragma once#ifndef _TRIE_TREE_H_#define _TRIE_TREE_H_#in...

2019-12-02 20:43:36 140

原创 tinystl实现(第二十三步:avl树实现)

经过长时间的学习终于可以开始tinystl的仿(chao)写工作了,本文参考了这位大神的github,坦白讲我只是补充了注释,因为tinystl的代码真的非常经典而我又没什么这种大型项目的经验,所以只能这样做,不过相信能够有助于大家的学习#强烈建议按顺序阅读本专栏avl树的构成和bst树的构成有很多相同之处,无非就是多了旋转(查看这篇博客了解).h文件#pragma once#ifnde...

2019-12-02 13:55:26 197

原创 tinystl实现(第二十二步:二叉搜索树实现)

经过长时间的学习终于可以开始tinystl的仿(chao)写工作了,本文参考了这位大神的github,坦白讲我只是补充了注释,因为tinystl的代码真的非常经典而我又没什么这种大型项目的经验,所以只能这样做,不过相信能够有助于大家的学习#强烈建议按顺序阅读本专栏二叉搜索树这一经典数据结构的实现很多,在stl中的设计也非常简洁明了,尤其是其中的深度获取值得学习.h文件#pragma onc...

2019-12-02 13:00:26 172

原创 tinystl实现(第二十一步:散列表实现)

经过长时间的学习终于可以开始tinystl的仿(chao)写工作了,本文参考了这位大神的github,坦白讲我只是补充了注释,因为tinystl的代码真的非常经典而我又没什么这种大型项目的经验,所以只能这样做,不过相信能够有助于大家的学习#强烈建议按顺序阅读本专栏散列表,哈希表都是容器中的重要内容,虽然本篇中并没有哈希函数这一关键步骤(关键在于难以找到放之四海而皆准的映射方法),但是其内涵依旧...

2019-12-01 15:45:26 239

原创 tinystl实现(第二十步:string实现)

经过长时间的学习终于可以开始tinystl的仿(chao)写工作了,本文参考了这位大神的github,坦白讲我只是补充了注释,因为tinystl的代码真的非常经典而我又没什么这种大型项目的经验,所以只能这样做,不过相信能够有助于大家的学习#强烈建议按顺序阅读本专栏string是stl中的一个重要结构,但是也是我做的最头疼的一个部分,过程非常无为,闪光点很少,但篇幅却很长。。。建议看有趣的部分就...

2019-11-30 13:50:22 1336

原创 tinystl实现(第十九步:cowptr.实现)

经过长时间的学习终于可以开始tinystl的仿(chao)写工作了,本文参考了这位大神的github,坦白讲我只是补充了注释,因为tinystl的代码真的非常经典而我又没什么这种大型项目的经验,所以只能这样做,不过相信能够有助于大家的学习#强烈建议按顺序阅读本专栏cowptr:原生指针阅读这篇文章了解原生指针 泛型指针 智能指针本文实现的原生指针并没有达到应有的效果,仅仅实现了基本功能c...

2019-11-28 14:13:25 228

原创 图的adt实现实验六图的应用(通信网络)

原题:【问题描述】应用图的ADT的物理实现来解决图的应用问题。某国的军队由N个部门组成,为了提高安全性,部门之间建立了M条通路,每条通路只能单向传递信息,即一条从部门a到部门b的通路只能由a向b传递信息。信息可以通过中转的方式进行传递,即如果a能将信息传递到b,b又能将信息传递到c,则a能将信息传递到c。一条信息可能通过多次中转最终到达目的地。  由于保密工作做得很好,并不是所有部门之间都...

2019-11-27 15:40:33 906 3

原创 tinystl实现(第十八步:ref.h实现)

经过长时间的学习终于可以开始tinystl的仿(chao)写工作了,本文参考了这位大神的github,坦白讲我只是补充了注释,因为tinystl的代码真的非常经典而我又没什么这种大型项目的经验,所以只能这样做,不过相信能够有助于大家的学习#强烈建议按顺序阅读本专栏阅读这篇文章了解c11新特性atomic(原子性)阅读这篇文章了解为什么需要ref,ref与引用的区别这个部分几乎完全看不懂,只...

2019-11-27 15:39:42 236

原创 tinystl实现(第十七步:stack实现)

经过长时间的学习终于可以开始tinystl的仿(chao)写工作了,本文参考了这位大神的github,坦白讲我只是补充了注释,因为tinystl的代码真的非常经典而我又没什么这种大型项目的经验,所以只能这样做,不过相信能够有助于大家的学习#强烈建议按顺序阅读本专栏stack的实现与前文queue的实现基本相同,只是封装deque而已,前期工作做好的清空下实现非常轻松#pragma once...

2019-11-27 15:39:06 168

原创 tinystl实现(第十六步:queue实现)

经过长时间的学习终于可以开始tinystl的仿(chao)写工作了,本文参考了这位大神的github,坦白讲我只是补充了注释,因为tinystl的代码真的非常经典而我又没什么这种大型项目的经验,所以只能这样做,不过相信能够有助于大家的学习本文的queue包括队列和优先队列,前者由deque封装实现,后者由vector和堆共同实习,展现了强大的代码复用能力#强烈建议按顺序阅读本专栏queue....

2019-11-27 15:38:40 156

原创 tinystl实现(第十五步:并查集实现)

经过长时间的学习终于可以开始tinystl的仿(chao)写工作了,本文参考了这位大神的github,坦白讲我只是补充了注释,因为tinystl的代码真的非常经典而我又没什么这种大型项目的经验,所以只能这样做,不过相信能够有助于大家的学习#强烈建议按顺序阅读本专栏#pragma once#ifndef _UF_SET_H_#define _UF_SET_H_#include <c...

2019-11-27 15:38:05 200

原创 tinystl实现(第十四步:list实现)

经过长时间的学习终于可以开始tinystl的仿(chao)写工作了,本文参考了这位大神的github,坦白讲我只是补充了注释,因为tinystl的代码真的非常经典而我又没什么这种大型项目的经验,所以只能这样做,不过相信能够有助于大家的学习#强烈建议按顺序阅读本专栏list.h#pragma once#ifndef _LIST_H_#define _LIST_H_#include "A...

2019-11-27 15:37:43 282

原创 tinystl实现(第十三步:vector实现)

经过长时间的学习终于可以开始tinystl的仿(chao)写工作了,本文参考了这位大神的github,坦白讲我只是补充了注释,因为tinystl的代码真的非常经典而我又没什么这种大型项目的经验,所以只能这样做,不过相信能够有助于大家的学习#强烈建议按顺序阅读本专栏vector.h(做声明)#pragma once#ifndef _VECTOR_H_#define _VECTOR_H_...

2019-11-27 15:37:14 403

原创 trie字典树解决问题

问题:Xuemei’s question时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 256.000MB,其他语言512.000MB64bit IO Format: %lld题目描述Several weeks ago, a beautiful xuemei from College of Biology ask LYX a bioinformatics question...

2019-11-27 15:36:28 318

原创 tinystl实现(第十九步:memory.h实现)

经过长时间的学习终于可以开始tinystl的仿(chao)写工作了,本文参考了这位大神的github,坦白讲我只是补充了注释,因为tinystl的代码真的非常经典而我又没什么这种大型项目的经验,所以只能这样做,不过相信能够有助于大家的学习#强烈建议按顺序阅读本专栏memory.h实际上定义了两种智能指针,share_ptr和unique_ptr,两者都是非常重要的指针,阅读这篇博客了解他们#...

2019-11-27 15:35:44 216

原创 adt邻接表和邻接矩阵解决问题(数据结构实验)

题目:1. 【问题描述】l 需要分别基于邻接矩阵和邻接表来实现图ADTl 需要实现图的各个基本操作l 小明最近在学习数据结构中图的相关知识,他需要输出有向图的邻接矩阵并找出有向图中出度最大的点。你能帮他解决这个问题么?【输入形式】每一组第一行有两个数n、m表示n个顶点,m条有向边。输入顶点信息,并用空格隔开,顶点信息以大写字母表示接下来有m行,每行三个数u、v、w代表权值为...

2019-11-20 17:24:43 1407 13

原创 tinystl实现(第十二步:deque实现)

经过长时间的学习终于可以开始tinystl的仿(chao)写工作了,本文参考了这位大神的github,坦白讲我只是补充了注释,因为tinystl的代码真的非常经典而我又没什么这种大型项目的经验,所以只能这样做,不过相信能够有助于大家的学习#强烈建议按顺序阅读本专栏deque.h(做声明)#pragma once#ifndef _DEQUE_H_#define _DEQUE_H_#in...

2019-11-19 16:38:59 323

原创 tinystl实现(第十一步:uninitialized.cpp)

经过长时间的学习终于可以开始tinystl的仿(chao)写工作了,本文参考了这位大神的博客,坦白讲我只是补充了注释,因为tinystl的代码真的非常经典而我又没什么这种大型项目的经验,所以只能这样做,不过相信能够有助于大家的学习#强烈建议按顺序阅读本专栏#pragma once#ifndef _UNINITIALIZED_FUNCTIONS_H_#define _UNINITIALIZE...

2019-11-14 21:59:19 247

原创 tinystl实现(第十步:Algorithm.cpp)

阅读这篇文章了解auto&decltype

2019-11-13 22:48:11 381

原创 tinystl实现(第九步:reserveseIterator.h)

经过长时间的学习终于可以开始tinystl的仿(chao)写工作了,本文参考了这位大佬得github,坦白讲我只是补充了注释,因为tinystl的代码真的非常经典而我又没什么这种大型项目的经验,所以只能这样做,不过相信能够有助于大家的学习#强烈建议按顺序阅读本专栏了解本篇你可能需要:阅读这篇文章了解explicit在这里插入代码片...

2019-11-12 11:07:38 256 1

原创 tinystl实现(第八步:Alloc.cpp)

经过长时间的学习终于可以开始tinystl的仿(chao)写工作了,本文参考了这位大佬得github,坦白讲我只是补充了注释,因为tinystl的代码真的非常经典而我又没什么这种大型项目的经验,所以只能这样做,不过相信能够有助于大家的学习#强烈建议按顺序阅读本专栏#include"../Alloc.h"namespace mySTL { char *alloc::start_free = ...

2019-11-11 14:07:16 390

原创 tinystl实现(第七步:Utility.h)

经过长时间的学习终于可以开始tinystl的仿(chao)写工作了,本文参考了这位大佬的github,坦白讲我只是补充了注释,因为tinystl的代码真的非常经典而我又没什么这种大型项目的经验,所以只能这样做,不过相信能够有助于大家的学习#强烈建议按顺序阅读本专栏在本篇中我们实现了pair这个非常基础的结构,其中<,>,<=,>=等函数的实现之间的相互互动非常有趣,值得...

2019-11-10 13:12:05 486 1

原创 tinystl实现(第六步:functional.h)

经过长时间的学习终于可以开始tinystl的仿(chao)写工作了,本文参考了这位大佬的github,坦白讲我只是补充了注释,因为tinystl的代码真的非常经典而我又没什么这种大型项目的经验,所以只能这样做,不过相信能够有助于大家的学习#强烈建议按顺序阅读本专栏functional是非常简单的一个类,提供了小于和相等两个函数供调用#pragma once#ifndef _FUNCTIO...

2019-11-10 10:19:49 311

原创 tinystl实现(第五步:itearator.h)

经过长时间的学习终于可以开始tinystl的仿(chao)写工作了,本文参考了这位大佬的github,坦白讲我只是补充了注释,因为tinystl的代码真的非常经典而我又没什么这种大型项目的经验,所以只能这样做,不过相信能够有助于大家的学习#强烈建议按顺序阅读本专栏关于不同itearator的区别:查看这个文档#pragma once#ifndef _ITEARATOR_H_#define...

2019-11-09 21:35:15 437

原创 tinystl实现(第四步:allocator.h)

经过长时间的学习终于可以开始tinystl的仿(chao)写工作了,本文参考了这位大佬的github,坦白讲我只是补充了注释,因为tinystl的代码真的非常经典而我又没什么这种大型项目的经验,所以只能这样做,不过相信能够有助于大家的学习#强烈建议按顺序阅读本专栏allocator.h是alloc.h和construct.h的直接上级,在这个文件中我们看到了很多我们似曾相识的语句,回忆它们与之...

2019-11-09 13:07:14 492

原创 tinystl实现(第三步:Construct.h)

经过长时间的学习终于可以开始tinystl的仿(chao)写工作了,本文参考了这位大佬的github,坦白讲我只是补充了注释,因为tinystl的代码真的非常经典而我又没什么这种大型项目的经验,所以只能这样做,不过相信能够有助于大家的学习#强烈建议按顺序阅读本专栏#pragma once#ifdef _CONSTRUCT_H_#define _CONSTRUCT_H_#include&...

2019-11-09 10:51:38 506

原创 tinystl实现(第二步:TypeTraits.h)

经过长时间的学习终于可以开始tinystl的仿(chao)写工作了,本文参考了这位大佬的github,坦白讲我只是补充了注释,因为tinystl的代码真的非常经典而我又没什么这种大型项目的经验,所以只能这样做,不过相信能够有助于大家的学习TypeTraits.h文件其实应该是最基础的部分,这部分完成了很多以后要用到的东西的定义,理解比较困难,可以先不理解,以后回头就会发现这些设置有何用处阅读本...

2019-11-08 22:24:54 815 1

原创 tinystl实现(第一步:alloc.h)

经过长时间的学习终于可以开始tinystl的仿(chao)写工作了,本文参考了这位大佬的github,坦白讲我只是补充了注释,因为tinystl的代码真的非常经典而我又没什么这种大型项目的经验,所以只能这样做,不过相信能够有助于大家的学习alloc.h文件是项目的开始部分,无论是哪一个容器,都需要分配内存才能行动,alloc.h文件也是内存分配中的最基石,接下来让我们看代码#pragma on...

2019-11-08 21:34:10 1734 6

原创 avl平衡树代码

#include#include#include#include"node.h"#include"binarytree.h"#include"binarytreecode.h"using namespace std;/*int max(int a, int b){return a > b ? a : b;}int deep(node *p){if §return ...

2019-10-30 17:01:41 91

原创 c++再学习(内存管理函数的重载)

在实现stl的过程中遇到了很多内存管理方面的问题,这里做个笔记以便复习,也供大家参考。1.内存管理的手段malloc()/free():malloc()是c语言中就存在的内存管理函数(库函数),不能够被重载,需要手动传开辟空间的大小,失败返回NULL,错误形式返回错误码,返回值为void*(不了解什么是void*的,可以查看这篇博客),通过强制转型与分配的对应位置一致。new()/delet...

2019-10-26 12:31:31 202 1

原创 c++再学习(void*指针是什么)

我们曾经见过int指针,float指针,也见过各种类指针,但是void指针是什么东西呢?一言蔽之,指向地址的指针。void指针并不指向任何确切的类型(但不可理解为void指向任何类型),当指向的地址上的内存的类型被指定时,void指针在调用时被强制转型为该类型的指针。因此,void指针的操作比其他指针要少,只能和另一个指针比较,向函数传递或者被函数返回,给同类型的指针赋值,但是,不能用vo...

2019-10-26 10:38:04 523

原创 二叉链表实现后序遍历和中序遍历返回层序遍历(数据结构实验)

node.h#pragma oncetemplate <typename T>class node{public: T val; node *left; node *right; node() { left = nullptr; right = nullptr; }; node(T v) { val = v; left = nullptr; ri...

2019-10-23 16:47:27 246

空空如也

空空如也

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

TA关注的人

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