- 博客(17)
- 收藏
- 关注
原创 简单的Socket实现HTTP
关于HTTP协议,可以参考:http协议首先直接用标准库的net/http包package mainimport ( "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
501
原创 双向循环链表排列字母表go实现
package mainimport ( "fmt")type Data stringtype dualNode struct { prior *dualNode //前驱指针 data Data next *dualNode //后继指针}//建立A-Z的双向循环链表func createList()*dualNode{ phead:=new(dualNode
2017-01-15 09:28:06
535
原创 拉丁方正循环链表实现
例如:构造 NXN 阶的拉丁方阵(2 1 2 3 4 2 3 4 1 3 4 1 2 4 1 2 3 使用循环链表构建:package mainimport ( "fmt")//结点结构type Node struct { data int next *Node}//建立循环链表func createList(len int)*Node {
2017-01-11 22:35:17
451
原创 魔术师发牌问题GO语言实现
问题描述: 魔术师手中有A、2、3……J、Q、K十三张黑桃扑克牌。在表演魔术前,魔术师已经将他们按照一定的顺序叠放好(有花色的一面朝下)。魔术表演过程为:一开始,魔术师数1,然后把最上面的那张牌翻过来,是黑桃A;然后将其放到桌面上;第二次,魔术师数1、2;将第一张牌放到这些牌的最下面,将第二张牌翻转过来,正好是黑桃2;第三次,魔术师数1、2、3;将第1、2张牌依次放到这些牌的最
2017-01-08 22:38:50
496
原创 判断链表是否有环
package mainimport ( "fmt" "math/rand" "time")const len =10type Node struct { Data string pNext *Node}//利用尾插法创建有环链表func createLoop()(*Node,int){ if len26 { return nil,-1 } pHead:=ne
2017-01-07 16:18:49
255
原创 循环链表实例GO语言实现
package mainimport ( "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
1247
原创 约瑟夫go实现
package mainimport ( "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
381
原创 静态链表GO语言实现
package mainimport ( "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
708
原创 利用快慢速算法查找单链表中间节点
package mainimport ( "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
283
原创 八皇后GO语言实现
package mainimport ( "fmt")const Num int=8var count int=1var quees[Num][Num] intfunc 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
489
原创 汉诺塔go语言实现
package mainimport ( "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
1324
原创 数据结构之静态队列go言语实现
package mainimport ( "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
534
原创 数据结构之栈go言语实现
package mainimport ( "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
957
原创 数据结构之链式队列go言语实现
package mainimport ( "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
310
原创 数据结构之链表go言语实现
package mainimport ( "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
429
原创 数据结构之数组go言语实现
package mainimport ( "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
392
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人