- 博客(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
681
原创 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
934
原创 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
1026
原创 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
462
原创 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
123
原创 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
146
原创 HarmonyOS设备开发(1)-环境搭建
买了个润和鸿蒙开发板,环境搭建了好几次的没搭建好。主要是官方给的文档有很大的迷惑,记录一下搭建成功的过程 综合以下三个网站的教程搭建的,系统是Ubuntu 20.04。本文是对Ubuntu下环境搭建,源码编译,Windows只负责烧录。 鸿蒙官方网址 小熊派开源社区 润和软件 一、软件安装 工具名称 用途说明 版本要求 获取渠道 Visual Studio Code 代码编辑工具 V1.53及以上 64位版本。 https://code.visualstudio.com/Downlo.
2021-08-01 17:24:19
1540
原创 【Go从学会到学废】(五) 数据类型
数据类型 类型确定一组值以及特定于这些值的操作和方法。类型可以由类型名称(如果它有的话)表示,或者使用类型文字(由现有类型组成类型)指定。 基本类型: 整型 浮点型 布尔型 字符串 高级类型: 数组 切片 结构体 函数 map (映射或者说字典) channel(通道) 接口 基本类型 布尔类型 布尔类型表示一组布尔真值,由预先声明的常量真和假表示。预先声明的布尔类型是bool;它是一个已定义的类型。 true false 数值类型 数值类型表示一组整数或浮点值。预先声明的与体系结构无关的
2020-10-17 19:08:49
299
原创 【Go从学会到学废】(四) Golang初览
介绍 Go是一种基于系统编程设计的通用语言。 它是强类型和垃圾收集的,并显式支持并发编程。 程序是由包构造的,包的属性允许有效地管理依赖关系。 该语法紧凑且易于解析,允许通过集成开发环境等自动工具进行简单的分析。 符号 Production = production_name "=" [ Expression ] "." . Expression = Alternative { "|" Alternative } . Alternative = Term { Term } . Term
2020-10-17 10:54:01
234
原创 【Go从学会到学废】(三) 变量和常量
Go声明变量方法: Go 语言变量名由字母、数字、下划线组成,其中首个字符不能为数字。 声明变量的一般形式是使用 var 关键字: 第一种声明变量方法: 用 var identifier type声明变量 也可以用 var identifier1,identifier2,identifier3 type声明多个变量 声明时是可以直接初始化的,不初始化默认零值 var s0 string s0 = "Hello" var s1 string = "Hello" var s2, s3 string = "H
2020-10-15 21:14:57
181
原创 【Go从学会到学废】(二) Hello World
1、新建Hello.go package main import "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
390
原创 【Go从学会到学废】(一) 下载、安装、配置
一、下载 Go语言官方网站地址https://golang.google.cn/ Go语言中文网下载地址https://studygolang.com/dl 二、安装 双击安装包,一直下一步就行 安装完成 三、配置 1.配置Go运行目录 2.配置GoPath 3.在cmd输入Go查看是否配置成功 附录 描述 网址 Go中文网 http://studygolang.com Go源码 https://github.com/golang/go Go guide htt
2020-10-14 22:04:08
232
原创 【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
382
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅