
学生
岚岚路
这个作者很懒,什么都没留下…
展开
-
golang学习1:导包篇(从c++到golang)
go语言的语法和c++非常相近,但是又有很多不同,现在我们一点点分析其中的同和不同导包:c++//一般导入(include<>先在标准库查找对应包,再在当前文件查找)#include<包名1>#include<包名2>//相对位置导入(include""导入与当前文件同一文件夹的文件)#include"文件名"//golang://单个包...原创 2020-03-13 21:03:05 · 385 阅读 · 0 评论 -
tinystl实现(第二十七步:graph实现)
经过长时间的学习终于可以开始tinystl的仿(chao)写工作了,本文参考了这位大神的github,坦白讲我只是补充了注释,因为tinystl的代码真的非常经典而我又没什么这种大型项目的经验,所以只能这样做,不过相信能够有助于大家的学习#强烈建议按顺序阅读本专栏.h#pragma once#ifndef _GRAPH_H_#define _GRAPH_H_#include "Ite...原创 2019-12-04 17:46:27 · 380 阅读 · 0 评论 -
tinystl实现(第二十六步:circularbuffer实现)
经过长时间的学习终于可以开始tinystl的仿(chao)写工作了,本文参考了这位大神的github,坦白讲我只是补充了注释,因为tinystl的代码真的非常经典而我又没什么这种大型项目的经验,所以只能这样做,不过相信能够有助于大家的学习#强烈建议按顺序阅读本专栏circularbuffer,中文名环状数组,当存储超出范围时会从头开始存储(覆盖之前的数据)的数组,其实现并不困难。.h文件#...原创 2019-12-04 09:17:56 · 416 阅读 · 0 评论 -
tinystl实现(第二十五步:bitmap实现)
经过长时间的学习终于可以开始tinystl的仿(chao)写工作了,本文参考了这位大神的github,坦白讲我只是补充了注释,因为tinystl的代码真的非常经典而我又没什么这种大型项目的经验,所以只能这样做,不过相信能够有助于大家的学习#强烈建议按顺序阅读本专栏bitmap的实现方法非常有趣,对于一个byte中的每一位进行分别操作,从而达到了记录大量01bool值的效果.h文件#prag...原创 2019-12-03 15:32:41 · 188 阅读 · 0 评论 -
tinystl实现(第二十四步:字典树实现)
经过长时间的学习终于可以开始tinystl的仿(chao)写工作了,本文参考了这位大神的github,坦白讲我只是补充了注释,因为tinystl的代码真的非常经典而我又没什么这种大型项目的经验,所以只能这样做,不过相信能够有助于大家的学习#强烈建议按顺序阅读本专栏.h文件#pragma once#ifndef _TRIE_TREE_H_#define _TRIE_TREE_H_#in...原创 2019-12-02 20:43:36 · 176 阅读 · 0 评论 -
tinystl实现(第二十三步:avl树实现)
经过长时间的学习终于可以开始tinystl的仿(chao)写工作了,本文参考了这位大神的github,坦白讲我只是补充了注释,因为tinystl的代码真的非常经典而我又没什么这种大型项目的经验,所以只能这样做,不过相信能够有助于大家的学习#强烈建议按顺序阅读本专栏avl树的构成和bst树的构成有很多相同之处,无非就是多了旋转(查看这篇博客了解).h文件#pragma once#ifnde...原创 2019-12-02 13:55:26 · 260 阅读 · 0 评论 -
tinystl实现(第二十二步:二叉搜索树实现)
经过长时间的学习终于可以开始tinystl的仿(chao)写工作了,本文参考了这位大神的github,坦白讲我只是补充了注释,因为tinystl的代码真的非常经典而我又没什么这种大型项目的经验,所以只能这样做,不过相信能够有助于大家的学习#强烈建议按顺序阅读本专栏二叉搜索树这一经典数据结构的实现很多,在stl中的设计也非常简洁明了,尤其是其中的深度获取值得学习.h文件#pragma onc...原创 2019-12-02 13:00:26 · 212 阅读 · 0 评论 -
tinystl实现(第二十一步:散列表实现)
经过长时间的学习终于可以开始tinystl的仿(chao)写工作了,本文参考了这位大神的github,坦白讲我只是补充了注释,因为tinystl的代码真的非常经典而我又没什么这种大型项目的经验,所以只能这样做,不过相信能够有助于大家的学习#强烈建议按顺序阅读本专栏散列表,哈希表都是容器中的重要内容,虽然本篇中并没有哈希函数这一关键步骤(关键在于难以找到放之四海而皆准的映射方法),但是其内涵依旧...原创 2019-12-01 15:45:26 · 314 阅读 · 0 评论 -
tinystl实现(第二十步:string实现)
经过长时间的学习终于可以开始tinystl的仿(chao)写工作了,本文参考了这位大神的github,坦白讲我只是补充了注释,因为tinystl的代码真的非常经典而我又没什么这种大型项目的经验,所以只能这样做,不过相信能够有助于大家的学习#强烈建议按顺序阅读本专栏string是stl中的一个重要结构,但是也是我做的最头疼的一个部分,过程非常无为,闪光点很少,但篇幅却很长。。。建议看有趣的部分就...原创 2019-11-30 13:50:22 · 1484 阅读 · 0 评论 -
tinystl实现(第十九步:cowptr.实现)
经过长时间的学习终于可以开始tinystl的仿(chao)写工作了,本文参考了这位大神的github,坦白讲我只是补充了注释,因为tinystl的代码真的非常经典而我又没什么这种大型项目的经验,所以只能这样做,不过相信能够有助于大家的学习#强烈建议按顺序阅读本专栏cowptr:原生指针阅读这篇文章了解原生指针 泛型指针 智能指针本文实现的原生指针并没有达到应有的效果,仅仅实现了基本功能c...原创 2019-11-28 14:13:25 · 276 阅读 · 0 评论 -
图的adt实现实验六图的应用(通信网络)
原题:【问题描述】应用图的ADT的物理实现来解决图的应用问题。某国的军队由N个部门组成,为了提高安全性,部门之间建立了M条通路,每条通路只能单向传递信息,即一条从部门a到部门b的通路只能由a向b传递信息。信息可以通过中转的方式进行传递,即如果a能将信息传递到b,b又能将信息传递到c,则a能将信息传递到c。一条信息可能通过多次中转最终到达目的地。 由于保密工作做得很好,并不是所有部门之间都...原创 2019-11-27 15:40:33 · 967 阅读 · 3 评论 -
tinystl实现(第十八步:ref.h实现)
经过长时间的学习终于可以开始tinystl的仿(chao)写工作了,本文参考了这位大神的github,坦白讲我只是补充了注释,因为tinystl的代码真的非常经典而我又没什么这种大型项目的经验,所以只能这样做,不过相信能够有助于大家的学习#强烈建议按顺序阅读本专栏阅读这篇文章了解c11新特性atomic(原子性)阅读这篇文章了解为什么需要ref,ref与引用的区别这个部分几乎完全看不懂,只...原创 2019-11-27 15:39:42 · 301 阅读 · 0 评论 -
tinystl实现(第十七步:stack实现)
经过长时间的学习终于可以开始tinystl的仿(chao)写工作了,本文参考了这位大神的github,坦白讲我只是补充了注释,因为tinystl的代码真的非常经典而我又没什么这种大型项目的经验,所以只能这样做,不过相信能够有助于大家的学习#强烈建议按顺序阅读本专栏stack的实现与前文queue的实现基本相同,只是封装deque而已,前期工作做好的清空下实现非常轻松#pragma once...原创 2019-11-27 15:39:06 · 204 阅读 · 0 评论 -
tinystl实现(第十六步:queue实现)
经过长时间的学习终于可以开始tinystl的仿(chao)写工作了,本文参考了这位大神的github,坦白讲我只是补充了注释,因为tinystl的代码真的非常经典而我又没什么这种大型项目的经验,所以只能这样做,不过相信能够有助于大家的学习本文的queue包括队列和优先队列,前者由deque封装实现,后者由vector和堆共同实习,展现了强大的代码复用能力#强烈建议按顺序阅读本专栏queue....原创 2019-11-27 15:38:40 · 193 阅读 · 0 评论 -
tinystl实现(第十五步:并查集实现)
经过长时间的学习终于可以开始tinystl的仿(chao)写工作了,本文参考了这位大神的github,坦白讲我只是补充了注释,因为tinystl的代码真的非常经典而我又没什么这种大型项目的经验,所以只能这样做,不过相信能够有助于大家的学习#强烈建议按顺序阅读本专栏#pragma once#ifndef _UF_SET_H_#define _UF_SET_H_#include <c...原创 2019-11-27 15:38:05 · 236 阅读 · 0 评论 -
tinystl实现(第十四步:list实现)
经过长时间的学习终于可以开始tinystl的仿(chao)写工作了,本文参考了这位大神的github,坦白讲我只是补充了注释,因为tinystl的代码真的非常经典而我又没什么这种大型项目的经验,所以只能这样做,不过相信能够有助于大家的学习#强烈建议按顺序阅读本专栏list.h#pragma once#ifndef _LIST_H_#define _LIST_H_#include "A...原创 2019-11-27 15:37:43 · 371 阅读 · 0 评论 -
tinystl实现(第十三步:vector实现)
经过长时间的学习终于可以开始tinystl的仿(chao)写工作了,本文参考了这位大神的github,坦白讲我只是补充了注释,因为tinystl的代码真的非常经典而我又没什么这种大型项目的经验,所以只能这样做,不过相信能够有助于大家的学习#强烈建议按顺序阅读本专栏vector.h(做声明)#pragma once#ifndef _VECTOR_H_#define _VECTOR_H_...原创 2019-11-27 15:37:14 · 492 阅读 · 0 评论 -
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 · 388 阅读 · 0 评论 -
tinystl实现(第十九步:memory.h实现)
经过长时间的学习终于可以开始tinystl的仿(chao)写工作了,本文参考了这位大神的github,坦白讲我只是补充了注释,因为tinystl的代码真的非常经典而我又没什么这种大型项目的经验,所以只能这样做,不过相信能够有助于大家的学习#强烈建议按顺序阅读本专栏memory.h实际上定义了两种智能指针,share_ptr和unique_ptr,两者都是非常重要的指针,阅读这篇博客了解他们#...原创 2019-11-27 15:35:44 · 264 阅读 · 0 评论 -
adt邻接表和邻接矩阵解决问题(数据结构实验)
题目:1. 【问题描述】l 需要分别基于邻接矩阵和邻接表来实现图ADTl 需要实现图的各个基本操作l 小明最近在学习数据结构中图的相关知识,他需要输出有向图的邻接矩阵并找出有向图中出度最大的点。你能帮他解决这个问题么?【输入形式】每一组第一行有两个数n、m表示n个顶点,m条有向边。输入顶点信息,并用空格隔开,顶点信息以大写字母表示接下来有m行,每行三个数u、v、w代表权值为...原创 2019-11-20 17:24:43 · 1529 阅读 · 13 评论 -
tinystl实现(第十二步:deque实现)
经过长时间的学习终于可以开始tinystl的仿(chao)写工作了,本文参考了这位大神的github,坦白讲我只是补充了注释,因为tinystl的代码真的非常经典而我又没什么这种大型项目的经验,所以只能这样做,不过相信能够有助于大家的学习#强烈建议按顺序阅读本专栏deque.h(做声明)#pragma once#ifndef _DEQUE_H_#define _DEQUE_H_#in...原创 2019-11-19 16:38:59 · 392 阅读 · 0 评论 -
tinystl实现(第十一步:uninitialized.cpp)
经过长时间的学习终于可以开始tinystl的仿(chao)写工作了,本文参考了这位大神的博客,坦白讲我只是补充了注释,因为tinystl的代码真的非常经典而我又没什么这种大型项目的经验,所以只能这样做,不过相信能够有助于大家的学习#强烈建议按顺序阅读本专栏#pragma once#ifndef _UNINITIALIZED_FUNCTIONS_H_#define _UNINITIALIZE...原创 2019-11-14 21:59:19 · 277 阅读 · 0 评论 -
tinystl实现(第十步:Algorithm.cpp)
阅读这篇文章了解auto&decltype原创 2019-11-13 22:48:11 · 440 阅读 · 0 评论 -
tinystl实现(第九步:reserveseIterator.h)
经过长时间的学习终于可以开始tinystl的仿(chao)写工作了,本文参考了这位大佬得github,坦白讲我只是补充了注释,因为tinystl的代码真的非常经典而我又没什么这种大型项目的经验,所以只能这样做,不过相信能够有助于大家的学习#强烈建议按顺序阅读本专栏了解本篇你可能需要:阅读这篇文章了解explicit在这里插入代码片...原创 2019-11-12 11:07:38 · 296 阅读 · 1 评论 -
tinystl实现(第八步:Alloc.cpp)
经过长时间的学习终于可以开始tinystl的仿(chao)写工作了,本文参考了这位大佬得github,坦白讲我只是补充了注释,因为tinystl的代码真的非常经典而我又没什么这种大型项目的经验,所以只能这样做,不过相信能够有助于大家的学习#强烈建议按顺序阅读本专栏#include"../Alloc.h"namespace mySTL { char *alloc::start_free = ...原创 2019-11-11 14:07:16 · 464 阅读 · 0 评论 -
tinystl实现(第六步:functional.h)
经过长时间的学习终于可以开始tinystl的仿(chao)写工作了,本文参考了这位大佬的github,坦白讲我只是补充了注释,因为tinystl的代码真的非常经典而我又没什么这种大型项目的经验,所以只能这样做,不过相信能够有助于大家的学习#强烈建议按顺序阅读本专栏functional是非常简单的一个类,提供了小于和相等两个函数供调用#pragma once#ifndef _FUNCTIO...原创 2019-11-10 10:19:49 · 357 阅读 · 0 评论 -
tinystl实现(第五步:itearator.h)
经过长时间的学习终于可以开始tinystl的仿(chao)写工作了,本文参考了这位大佬的github,坦白讲我只是补充了注释,因为tinystl的代码真的非常经典而我又没什么这种大型项目的经验,所以只能这样做,不过相信能够有助于大家的学习#强烈建议按顺序阅读本专栏关于不同itearator的区别:查看这个文档#pragma once#ifndef _ITEARATOR_H_#define...原创 2019-11-09 21:35:15 · 509 阅读 · 0 评论 -
tinystl实现(第三步:Construct.h)
经过长时间的学习终于可以开始tinystl的仿(chao)写工作了,本文参考了这位大佬的github,坦白讲我只是补充了注释,因为tinystl的代码真的非常经典而我又没什么这种大型项目的经验,所以只能这样做,不过相信能够有助于大家的学习#强烈建议按顺序阅读本专栏#pragma once#ifdef _CONSTRUCT_H_#define _CONSTRUCT_H_#include&...原创 2019-11-09 10:51:38 · 568 阅读 · 0 评论 -
tinystl实现(第二步:TypeTraits.h)
经过长时间的学习终于可以开始tinystl的仿(chao)写工作了,本文参考了这位大佬的github,坦白讲我只是补充了注释,因为tinystl的代码真的非常经典而我又没什么这种大型项目的经验,所以只能这样做,不过相信能够有助于大家的学习TypeTraits.h文件其实应该是最基础的部分,这部分完成了很多以后要用到的东西的定义,理解比较困难,可以先不理解,以后回头就会发现这些设置有何用处阅读本...原创 2019-11-08 22:24:54 · 917 阅读 · 1 评论 -
java线程概念与实作(1)
1.第一个问题,线程是什么?要了解线程,首先要了解流程。这里就先用我以前做过的一个简单的小游戏来说明吧public class Main { public static void pk(Hero h1,Hero h2) { while (h1.hp > 0 && h2.hp > 0) { h1.atk(h2); if (h2.hp <...原创 2019-01-22 12:45:32 · 137 阅读 · 0 评论 -
c++再学习(void*指针是什么)
我们曾经见过int指针,float指针,也见过各种类指针,但是void指针是什么东西呢?一言蔽之,指向地址的指针。void指针并不指向任何确切的类型(但不可理解为void指向任何类型),当指向的地址上的内存的类型被指定时,void指针在调用时被强制转型为该类型的指针。因此,void指针的操作比其他指针要少,只能和另一个指针比较,向函数传递或者被函数返回,给同类型的指针赋值,但是,不能用vo...原创 2019-10-26 10:38:04 · 586 阅读 · 0 评论 -
c++再学习(内存管理函数的重载)
在实现stl的过程中遇到了很多内存管理方面的问题,这里做个笔记以便复习,也供大家参考。1.内存管理的手段malloc()/free():malloc()是c语言中就存在的内存管理函数(库函数),不能够被重载,需要手动传开辟空间的大小,失败返回NULL,错误形式返回错误码,返回值为void*(不了解什么是void*的,可以查看这篇博客),通过强制转型与分配的对应位置一致。new()/delet...原创 2019-10-26 12:31:31 · 301 阅读 · 1 评论 -
c++再学习(union使用)
union这个关键字很少见,但是该用到还是会用到的,所以这里介绍一下Union和struck类似,最大的不同在于,可以存储不同类型的数据,其所占内存大小以最大的为准(换而言之,一个能装char,double和int数据的union所占内存大小为double所占内存(8字节))union所有类型的数据共用同一段内存空间,换而言之,当你对union关键字定义的变量重新赋值时,前一个值(不管它的类型...原创 2019-10-03 22:08:04 · 250 阅读 · 0 评论 -
c++再学习(宏的基础应用/常用的宏)
在c++中,宏是非常常用的,本篇博客粗略地对宏的使用和常用技巧做一些归纳。宏的基础用法:#define maxinum 1000这样我们就将maxinum定义为1000(注意宏不需要分号)与此同时,正如之前介绍lamba的内容所说,我们在调用宏时采取的是直接取代法,所以难免会出现问题比如:#define add(a,b) a+b以上宏在cadd(a+b)时会被翻译为ca+b,显然...原创 2019-10-02 23:24:30 · 195 阅读 · 0 评论 -
c++再学习(template)
最近在tiny c++的学习过程中接触了template这个这个关键词,知道这是模板类(其实应该学过只是记不起来)那么,什么是模板类呢?就是函数针对的类型未定,根据你输入的类型进行变化。打个比方说,想比较int ,float,double等各种数据类型的大小,但又不想设置多个函数,那就适合使用template。template <typename T>T mmax(T a,T...原创 2019-09-25 17:32:33 · 116 阅读 · 0 评论 -
c++再学习(浅拷贝,深拷贝与移动构造函数)
浅拷贝是什么?深拷贝是什么?两者有什么区别?浅拷贝相当于添加了一个指向对象的指针,和原对象公用同一块内存,如果分别调用其构造函数,则会造成runtime error。深拷贝则是新分配了一块内存,并用一个新的指针指向它。显然,深拷贝的消耗比浅拷贝要大,但是很多时候,我们不得不使用深拷贝——尤其是需要保存修改数据前状态时。那么,什么是移动构造函数呢?移动构造函数会获取原对象的右值引用(什么是...原创 2019-08-30 16:53:21 · 431 阅读 · 0 评论 -
c++再学习(左值与右值)
什么是左值,右值?两者有什么区别?左值是变量,是地址值,指向的是存储数据的内存,文字不能作为左值。右值是数据值,可以被存储在地址当中,是被读取的值——你可以对它赋值,销毁,但不可以修改(其符号为&&),文字表达式可以作为右值。举个例子:++i–违法,因为++运算符要求一个可以修改的左值,但是显然,i–是个不可修改的右值。注意:当你使用右值时,必须满足以下两个条件:1,该对...原创 2019-08-30 16:26:19 · 265 阅读 · 1 评论 -
c++再学习(函数指针与lamba)
什么是函数指针?int cmp(int a,int b){return a<b;}//函数对象int (*cmp)(int a,int b)//函数指针两者只有写法不同,用法完全相同。为什么要使用函数指针?1函数指针可以把函数作为参数传入函数中(比如非常常用的qsort),可以提高函数的可复用性和可拓展性。2另外,有些地方必须使用函数函数指针才能完成给定的任务,如linux系统...原创 2019-08-26 15:45:17 · 371 阅读 · 0 评论 -
c++二叉树(一)二叉树的建立与遍历
树是一种常用的数据结构,也是必须掌握的数据结构,最近准备几篇博客梳理一下自己对树的学习,也复习一下c++。首先对于树的设计,无非就是本身数据加上左孩子右孩子两个指针。struct node{ int num; node *left; node *right;};有了节点,我们又要怎么建树呢?这里笔者提供两种建树方法第一种node* createtree(int a[],in...原创 2019-04-01 13:58:28 · 460 阅读 · 0 评论 -
五子棋ai实现
说到ai这个热词,很多人都会变得兴奋,那么我们就来聊聊五子棋ai的那些事1.通过哈希表实现ai这种ai实现方法可以说是相当笨拙的了,主要是利用哈希表能够接受字符串返回整形对象的特点,实现对不同棋形进行赋权,最后加权得到最优解的方法HashMap&amp;amp;amp;lt;String,Integer&amp;amp;amp;gt; hm=new HashMap&amp;amp;amp;lt;String,Integer&amp原创 2019-01-10 16:44:05 · 3248 阅读 · 0 评论