- 博客(16)
- 资源 (1)
- 收藏
- 关注

原创 Go语言实现一个协程池
协程的好处: 跨平台 跨体系架构 无需线程上下文切换的开销 无需原子操作锁定及同步的开销。 代码实现 package main import ( "fmt" "time" ) type Task struct { f func()error //一个task中有具体的业务,业务名叫f } func NewTask(arg_f func()error) *Task{ t:=Task{ f:arg_f, } return &t } func(t *Task)Execute(){
2020-06-17 19:25:48
603

原创 Hyperledger之用谷歌云配置Fabric1.4环境
谷歌云系统选择 如下图所示:选择ubuntu系统进行配置。 Fabric环境配置 首先进行docker安装 执行以下命令自动安装: sudo wget -qO- https://get.docker.com/ | bash 如果上面出错可执行以下命令: $ curl -fsSL https://get.docker.com -o get-docker.sh $ sudo sh get-docker.sh 安装docker-compose命令 curl -L "https://github
2020-05-20 14:40:45
650

原创 数据结构之GO实现环形链表
循环链表原理如下图所示: Go语言代码实现如下: package main import ( "fmt" ) //定义猫的结构体结点 type DogNode struct { no int //狗的编号 name string //狗的名字 next *DogNode //指向下一个节点 } func InsertDogNode(head *CatNode, newCatNode *CatNode) { //判断是不是添加第一只狗 if head.next == nil {
2020-05-18 22:11:11
363
原创 go语言实现二叉树遍历
代码如下 package main import ( "fmt" ) type Node struct { Value string Left, Right *Node } func (node *Node) Print() { fmt.Print(node.Value, " ") } func (node *Node) SetValue(v string) { if node == nil { fmt.Println("setting value to nil.node
2020-07-04 12:23:55
792
原创 Fabric-SDK-Go中config.yaml和docker-compose.yaml文件配置参考
config.yaml文件配置 name: "chainHero-network" #Describe what the target network is/does. description: "The network which will host my first blockchain" #Schema version of the content. Used by the SDK to apply the corresponding parsing rules. version: 2 #The
2020-07-01 16:46:48
1244
原创 leetcode面试题之go实现相交链表
编写一个程序,找到两个单链表相交的起始节点。 如下面的两个链表: 在节点 c1 开始相交。 示例 1: 输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3 输出:Reference of the node with value = 8 输入解释:相交节点的值为 8 (注意,如果两个链表相交则不能为 0)。从各自的表头开始算起,链表 A 为 [4,1,8,4,5],链表 B 为 [5,0,1
2020-06-18 12:15:54
272
原创 leetcode面试题之go实现最小栈
设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。 push(x) —— 将元素 x 推入栈中。 pop() —— 删除栈顶的元素。 top() —— 获取栈顶元素。 getMin() —— 检索栈中的最小元素。 示例: 输入: [“MinStack”,“push”,“push”,“push”,“getMin”,“pop”,“top”,“getMin”] [[],[-2],[0],[-3],[],[],[],[]] 输出: [null,null,null,null,-3,
2020-06-11 10:46:22
222
1
原创 leetcode面试题之go实现合并两个有序链表
将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 输入:1->2->4, 1->3->4 输出:1->1->2->3->4->4 代码实现 package main import "fmt" type ListNode struct { Val int Next *ListNode } func mergeTwoLists(l1 *ListNode, l2 *ListNode) *List
2020-06-10 12:23:17
231
原创 leetcode面试题之go实现罗马数字转整数
题目详解 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V + II 。
2020-06-09 12:49:08
239
原创 leetcode面试题之go实现整数反转
题目描述: 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 示例 1: 输入: 123 输出: 321 示例 2: 输入: -123 输出: -321 示例 3: 输入: 120 输出: 21 二代码实现 package main import "fmt" func reverse(x int)int { var nums,newnums int for x!=0{ a:=x%10 newnums=nums*10+a nums=newnums x=x/10
2020-06-07 21:17:41
232
原创 leetcode面试题之go实现回文数
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。 示例 3: 输入: 10 输出: false 解释: 从右向左读, 为 01 。因此它不是一个回文数。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/palindrome-n
2020-06-06 14:46:34
162
原创 leetcode面试题之go实现顺时针打印矩阵
顺时针打印矩阵 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。 示例 1: 输入:matrix = [[1,2,3],[4,5,6],[7,8,9]] 输出:[1,2,3,6,9,8,7,4,5] 示例 2: 输入:matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]] 输出:[1,2,3,4,8,12,11,10,9,5,6,7] Go语言实现 package main func printMatrix(matrix [][]int) []int { re
2020-06-05 14:49:29
228
原创 数据结构之GO环形链表解决josephu(约瑟夫)问题
josephu问题 Josephu问题为:设编号为1,2,…n的n个人围坐一圈,约定编号为k(1<=k<=n)的人从1开始报数,数到m 的那个人出列,它的下一位又从1开始报数,数到m的那个人又出列,依次类推,直到所有人出列为止,由此产生一个出队编号的序列,用Go语言进行实现如下: package main import ( "fmt" ) //小孩的结构体 type Boy struct { No int // 编号 Next *Boy // 指向下一个小孩的指针[默认值是nil] }
2020-05-22 12:01:54
204
原创 数据结构之Go实现单链表
链表原理 单向链表是一种线性表,实际上是由节点组成的,一个链表拥有不定数量的节点。其数据在内存中存储是不连续的,它存储的数据分散在内存中,每个结点只能也只有它能知道下一个结点的存储位置。由N各节点(Node)组成单向链表,每一个Node记录本Node的数据及下一个Node。向外暴露的只有一个头节点(Head),我们对链表的所有操作,都是直接或者间接地通过其头节点来进行的。 代码实现 定义链表结构 package main import ( "fmt" ) type HeroNode struct {
2020-05-20 13:51:51
330
原创 数据结构之Go实现队列
队列的相关概念 队列(queue)也是一种线性表,它的特性是先进先出,插入在一端,删除在另一端。就像排队一样,刚来的人入队(push)要排在队尾(rear),每次出队(pop)的都是队首(front)的人。其特点如下: 1.队列中的数据元素遵循“先进先出”(First In First Out)的原则,简称FIFO结构。 2.队尾添加元素,在队头删除元素。 假如我们有一个存储整型元素的队列,我们依次入队1、2、3. ...
2020-05-20 13:41:37
271
原创 数据结构之GO实现环形队列
数据结构之GO实现循环队列循环队列简单实现 循环队列简单实现 循环队列是 队列的一种特殊形式。首先介绍队列,然后引申出循环队列。 队列又称为“先进先出”(FIFO)线性表 限定插入操作只能在队尾进行,而删除操作只能在队首进行 队列也可以采用顺序存储结构或链表结构来实现,分别称为顺序队列和链队列,下面就来简单实现。 package main import ( “errors” “fmt” “os” ) type CircleQueue struct { maxSize int //最大值 array [5
2020-05-18 20:59:54
454
基于Android开发学生公寓集体订餐系统.zip
2020-05-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人