![](https://img-blog.csdnimg.cn/2021080817372426.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Go数据结构与算法
自己写的比较基础的算法,Go语言实现,有错误的话请私聊一下我
困了就喝白茶
街边太多人与车,繁华闹市人醉夜
展开
-
买卖一次股票的问题----go语言实现
问题有一个数组[7,0,2,8,5,4],买卖股票,数组的下标对应着日期你可以操作一次买入与卖出 如:在0买入,在8卖出,赚了8-0 ,在2买入5卖出,就赚3元不能 在0买入,7卖出(意思说,卖出要在买入后)如果数组[7,5,4,3,2,1] 不买入卖出,赚0求怎么买卖赚最多,最多只能买卖一次思路分析1.卖出的下标,在买入的下标后面2.遍历找到每一下标买卖的最大值1)选择一个下标,然后遍历这个下标后面的所有数据的最大值,相减就是当前下标的最大利润2)把这个利润放入到一个数组中3)继续原创 2021-08-08 19:48:46 · 307 阅读 · 0 评论 -
基础数据结构----不带头结点的循环双链表go语言的实现
/*不带头结点的循环双链表*/package mainimport ( "errors" "fmt")//链表的结构体type Node struct { key int value string pre *Node next *Node}//创建一个链表func newList(key int, value string) (list *Node) { list = & Node{ key:key, value: value, } list.p原创 2021-08-08 17:36:02 · 204 阅读 · 0 评论 -
单循环链表,不带头结点的go语言实现
package main/*不带头结点的单向循环链表*/import ( "errors" "fmt")type Node struct { key int value string next *Node}//创建一个新结点func newNode(key int, value string)(newNode *Node) { newNode = &Node{ key :key, value: value, //next: newNode, 这样做原创 2021-08-07 21:05:54 · 193 阅读 · 0 评论 -
基础数据结构---双链表go语言的代码实现
本文件:带头结点双链表的各种操作1.创建双链表2.头插3.尾插4.显示双链表5.按位查询6.按位插入7.按位删除8.按值插入package main/*本文件:带头结点双链表的各种操作1.创建双链表2.头插3.尾插4.显示双链表5.按位查询6.按位插入7.按位删除8.按值插入*/import ( "errors" "fmt")type Node struct { key int value string pre *Node next *No.原创 2021-08-07 11:52:09 · 112 阅读 · 0 评论 -
单链表的创建、插入、删除、遍历的Go实现
package mainimport ( "errors" "fmt")/*带头结点的单链表*/type Node struct { key int value string next * Node}//创建一个链表func newList()(head *Node) { head = &Node { next: nil, } return}//头插法func addHeadList(head, newNode *Node) { if hea原创 2021-08-06 21:45:53 · 211 阅读 · 0 评论