
go学习笔记
习惯性蹭分
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数据结构之数组go言语实现
package main import ( "fmt" ) type Arr struct { Cnt int Len int Pbase *[]int } func init_arr(arr *Arr,len int) { if len<1{ panic("长度不能小于1") } var arr_int=make([]int,len) ar原创 2016-11-08 23:00:12 · 404 阅读 · 0 评论 -
拉丁方正循环链表实现
例如:构造 NXN 阶的拉丁方阵(2 1 2 3 4 2 3 4 1 3 4 1 2 4 1 2 3 使用循环链表构建: package main import ( "fmt" ) //结点结构 type Node struct { data int next *Node } //建立循环链表 func createList(len int)*Node {原创 2017-01-11 22:35:17 · 473 阅读 · 0 评论 -
双向循环链表排列字母表go实现
package main import ( "fmt" ) type Data string type dualNode struct { prior *dualNode //前驱指针 data Data next *dualNode //后继指针 } //建立A-Z的双向循环链表 func createList()*dualNode{ phead:=new(dualNode原创 2017-01-15 09:28:06 · 556 阅读 · 0 评论 -
魔术师发牌问题GO语言实现
问题描述: 魔术师手中有A、2、3……J、Q、K十三张黑桃扑克牌。在表演魔术前,魔术师已经将他们按照一定的顺序叠放好(有花色的一面朝下)。魔术表演过程为:一开始,魔术师数1,然后把最上面的那张牌翻过来,是黑桃A;然后将其放到桌面上;第二次,魔术师数1、2;将第一张牌放到这些牌的最下面,将第二张牌翻转过来,正好是黑桃2;第三次,魔术师数1、2、3;将第1、2张牌依次放到这些牌的最原创 2017-01-08 22:38:50 · 507 阅读 · 0 评论 -
判断链表是否有环
package main import ( "fmt" "math/rand" "time" ) const len =10 type Node struct { Data string pNext *Node } //利用尾插法创建有环链表 func createLoop()(*Node,int){ if len26 { return nil,-1 } pHead:=ne原创 2017-01-07 16:18:49 · 261 阅读 · 0 评论 -
约瑟夫go实现
package main import ( "fmt" "os" ) type Node struct { num int pNext *Node } func createList( size int) *Node{ if size<0{ os.Exit(-1) } p:=new(Node) p.num=1 q:=p for i:=2;i<=size;i++ {原创 2016-12-28 22:34:26 · 395 阅读 · 0 评论 -
循环链表实例GO语言实现
package main import ( "fmt" "os" ) type Node struct{ data int pNext *Node } func initList() *Node{ pHead:=new(Node) pHead.pNext=pHead return pHead //返回头指针 } //创建尾指针的单循环链表 func createList(l原创 2017-01-02 22:56:19 · 1261 阅读 · 0 评论 -
静态链表GO语言实现
package main import ( "fmt" "log" "os" ) //静态链表节点 type Node struct{ data string cursor int } const maxSize int=10 //初始化链表 func initList(size int)([]Node){ if size<3 { log.Fatal("size参数错误")原创 2016-12-13 22:06:53 · 718 阅读 · 0 评论 -
利用快慢速算法查找单链表中间节点
package main import ( "fmt" "log" "math/rand" ) // 单链表结点 type Node struct { data int pNode *Node } //初始化单链表 func initList()*Node { pHead:=new(Node) pHead.pNode=nil return pHead } // 生成单链表数据,用原创 2016-12-04 15:46:29 · 293 阅读 · 0 评论 -
八皇后GO语言实现
package main import ( "fmt" ) const Num int=8 var count int=1 var quees[Num][Num] int func print(){ fmt.Printf("第%d种解法:\n",count) for i:=0;i<Num;i++ { for j:=0;j<Num;j++ { if quees[i][j]==1原创 2016-11-19 21:06:12 · 522 阅读 · 0 评论 -
汉诺塔go语言实现
package main import ( "fmt" ) func hannuota(n int,A,B,C string){ if n20 { return } if n==1{ fmt.Printf("盘子%d从%s柱子移动到%s柱子\n",n,A,C) }else { hannuota(n-1,A,C,B) fmt.Printf("盘子%d从%s柱子移动到%s原创 2016-11-09 22:19:26 · 1358 阅读 · 0 评论 -
数据结构之静态队列go言语实现
package main import ( "fmt" ) type Queue struct { pBase *[6]int pFront,pRear int } func initQueue(q *Queue) { var arr=new([6]int) q.pBase=arr q.pFront=0 q.pRear=0 } func isEmpty(q *Queue) bo原创 2016-11-09 22:06:48 · 571 阅读 · 0 评论 -
数据结构之栈go言语实现
package main import ( "fmt" "os" ) type Node struct { val int pNode *Node } type Stack struct { pTop,pBottom *Node } func initStack(pStack *Stack){ pNew:=new(Node) pNew.pNode=nil pStack.pT原创 2016-11-09 22:05:28 · 1000 阅读 · 0 评论 -
数据结构之链式队列go言语实现
package main import ( "fmt" ) type Node struct { val int pNext *Node } type Queue struct { pFront,pRear *Node } func isempty(q *Queue) bool { if q.pFront==nil && q.pRear==nil { return true原创 2016-11-09 22:03:50 · 316 阅读 · 0 评论 -
数据结构之链表go言语实现
package main import ( "fmt" "os" ) type Node struct { val int pNode *Node } func create_list() (*Node) { var ( len int val int ) var pHead *Node pTmp:=new(Node) pTmp.pNode=nil pHead=p原创 2016-11-09 21:57:14 · 442 阅读 · 0 评论 -
简单的Socket实现HTTP
关于HTTP协议,可以参考: http协议 首先直接用标准库的net/http包 package main import ( "log" "net/http" ) func index(w http.ResponseWriter, r *http.Request) { http.ServeFile(w, r, "index.html") } func main() { ht原创 2017-08-27 10:30:19 · 522 阅读 · 0 评论