- 博客(13)
- 收藏
- 关注
原创 Rust二叉搜索树
节点的结构#[derive(Debug, Clone)]struct TreeNode<T> { pub data: T, pub left: Option<Box<TreeNode<T>>>, pub right: Option<Box<TreeNode<T>>>,}impl<T> TreeNode<T>where T: PartialOrd + Disp
2022-01-18 17:31:48
618
原创 Rust队列和栈
前言Rust 标准库里面是有 Vec这种可以在堆上分配内存的连续可增长的数组类型。可以用它很方便的实现队列和栈,但是他只能增长不能收缩。所以接下来使用链表实现队列结点的结构#[derive(Debug)]struct Node<T> { data: T, next: Option<Box<Node<T>>>,}impl<T> Node<T> { fn new(data: T) -> Self
2022-01-05 20:38:25
828
原创 Rust双向链表
节点的结构指向节点的指针可能为空值,所以在最外层包裹一层 Option一个节点可能存在被两个指针指向(前一个节点的 next 和后一个节点的 prev),指针需要用 Rc 包裹。Rc指针指向的值默认情况下是不可以修改的,只读性质。可以通过RefCell指针修改其内部的值#[derive(PartialEq, Eq, Clone, Debug)]struct ListNode<T> { pub data: T, pub next: Option<Rc<Re
2022-01-04 19:53:17
885
原创 Rust单链表
节点的结构希望链表存储在堆上,所以使用 Box 包裹节点 Rust 没有空值,所以用 Option 在包裹一层#[derive(PartialEq, Eq, Clone, Debug)]struct ListNode<T> { pub data: T, pub next: Option<Box<ListNode<T>>>,}根据索引查找节点和找尾节点是通过递归来查找的impl<T> ListNode<T>
2022-01-02 21:00:49
328
原创 C----单向链表
1、定义链表结构#define ElementType int#define ElementTypeNULL -1//节点typedef struct Node { ElementType Element; struct Node *Next;} Node;typedef Node *List;2、链表操作//创建一个新节点List NewNode(ElementType elem) { List L = (List) malloc(sizeof
2021-09-04 17:53:58
90
原创 C----双向链表
1、定义链表结构#define ElementType int#define ElementTypeNULL -1//节点typedef struct Node { ElementType Element; struct Node *Prev; struct Node *Next;} Node;typedef Node *List;2、链表操作//创建一个新节点List NewNode(ElementType elem) { List L
2021-09-04 17:52:20
86
原创 HarmonyOS设备开发(1)-环境搭建
买了个润和鸿蒙开发板,环境搭建了好几次的没搭建好。主要是官方给的文档有很大的迷惑,记录一下搭建成功的过程综合以下三个网站的教程搭建的,系统是Ubuntu 20.04。本文是对Ubuntu下环境搭建,源码编译,Windows只负责烧录。鸿蒙官方网址小熊派开源社区润和软件一、软件安装工具名称用途说明版本要求获取渠道Visual Studio Code代码编辑工具V1.53及以上 64位版本。https://code.visualstudio.com/Downlo.
2021-08-01 17:24:19
1316
原创 【Go从学会到学废】(五) 数据类型
数据类型类型确定一组值以及特定于这些值的操作和方法。类型可以由类型名称(如果它有的话)表示,或者使用类型文字(由现有类型组成类型)指定。基本类型:整型浮点型布尔型字符串高级类型:数组切片结构体函数map (映射或者说字典)channel(通道)接口基本类型布尔类型布尔类型表示一组布尔真值,由预先声明的常量真和假表示。预先声明的布尔类型是bool;它是一个已定义的类型。truefalse数值类型数值类型表示一组整数或浮点值。预先声明的与体系结构无关的
2020-10-17 19:08:49
234
原创 【Go从学会到学废】(四) Golang初览
介绍Go是一种基于系统编程设计的通用语言。它是强类型和垃圾收集的,并显式支持并发编程。程序是由包构造的,包的属性允许有效地管理依赖关系。该语法紧凑且易于解析,允许通过集成开发环境等自动工具进行简单的分析。符号Production = production_name "=" [ Expression ] "." .Expression = Alternative { "|" Alternative } .Alternative = Term { Term } .Term
2020-10-17 10:54:01
189
原创 【Go从学会到学废】(三) 变量和常量
Go声明变量方法:Go 语言变量名由字母、数字、下划线组成,其中首个字符不能为数字。声明变量的一般形式是使用 var 关键字:第一种声明变量方法:用 var identifier type声明变量也可以用 var identifier1,identifier2,identifier3 type声明多个变量声明时是可以直接初始化的,不初始化默认零值var s0 strings0 = "Hello"var s1 string = "Hello"var s2, s3 string = "H
2020-10-15 21:14:57
121
原创 【Go从学会到学废】(二) Hello World
1、新建Hello.gopackage mainimport "fmt"func main() { fmt.Println("Hello World")}2、运行你可以输入 go run Hello.go直接运行也可以先编译 go build Hello.go在运行3、解释1.package main文件包名,指明文件所处的包位置,默认设置为该文件所处的文件夹名字。如文件test.go,则test.go的包名即为test。这里包名命名为main并不是说,它在文件
2020-10-14 22:44:00
315
原创 【Go从学会到学废】(一) 下载、安装、配置
一、下载Go语言官方网站地址https://golang.google.cn/Go语言中文网下载地址https://studygolang.com/dl二、安装双击安装包,一直下一步就行安装完成三、配置1.配置Go运行目录2.配置GoPath3.在cmd输入Go查看是否配置成功附录描述网址Go中文网http://studygolang.comGo源码https://github.com/golang/goGo guidehtt
2020-10-14 22:04:08
179
原创 【Go从学会到学废】(零) Golang简介
Go 语言简介Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后来还加入了Ian Lance Taylor, Russ Cox等人,并最终于2009年11月开源,在2012年早些时候发布了Go 1稳定版本。现在Go的开发已经是完全开放的,并且拥有一个活跃的社区。Go 语言特色简洁、快速、安全并行、有趣、开源内存管理、数组安全、编译迅速Go 语言的优势可
2020-10-14 21:51:40
252
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人