- 博客(13)
- 资源 (4)
- 收藏
- 关注
原创 golang排序算法--基数排序
原理基数排序的思想其实挺有意思,举个栗子来说,有如下数组:第一趟:我们首先对这个数组按照其个位数进行分组,结果如下:然后将分组后的数据按照索引的大小取出,得到新的数组如下:第一趟排序后完成的工作为将数组按照个位数由小到大的顺序进行了排序第二趟:对第一趟的结果按照十位数进行分组,结果如下:然后将分组后的数组按照索引的大小分别取出,得到新的数组如下:第二...
2019-10-22 18:53:27
859
原创 【golang数据结构和算法】--单链表合并、删除、查找
两个有序的链表合并 删除链表倒数第n个结点 求链表的中间结点// 两个有序的链表合并// 输入:1->2->4, 1->3->4// 输出:1->1->2->3->4->4func (s *SingleLL)MergeTwoList(list1, list2 *Node) (res *Node) { if list1 == n...
2019-10-21 15:04:02
238
原创 【golang数据结构和算法】--单链表检测存在环和求环长
思路是:我们先从简单的同起点开始计算然后推广到非同起点的情况。同起点第i次迭代时,p指向元素i mod n,q指向2i mod n。因此当i==2i(mod n)时,p与q相遇。而i=2i(mod n)=> (2i - i) mod n = 0=> i mod n = 0=> 当i=n时,p与q相遇。非同起点两个起点不同,速度不同的指针p,q满足什么关系时可以相遇?...
2019-10-18 11:22:05
237
原创 【golang数据结构和算法】--单链表反转
单链表反转实现package modulestype SingleLL struct { list *Node}func (s *SingleLL)InitSingleLinkedList(data []int) { var tempNode *Node for i := 0; i < len(data); i++ { if i == 0 { tempNo...
2019-10-18 10:19:12
234
原创 【golang数据结构和算法】--顺序队列和链式队列
队列跟栈一样, 也是一种操作受限的线性表数据结构,并且具有先进先出的特性。用数组实现的栈叫作顺序栈, 用链表实现的栈叫作链式栈;同样,用数组实现的队列叫作顺序队列,用链表实现的队列叫作链式队列。顺序队列package modulestype ArrayQueue struct { items []string // 队列 n int // 队内元素数...
2019-10-17 14:02:45
294
原创 【golang数据结构和算法】--顺序栈和链式栈
栈:什么是栈,简单的讲:后进先出、 先进后出的线性表;实际上, 栈既可以用数组来实现, 也可以用链表来实现。 用数组实现的栈, 叫作顺序栈, 用链表实现的栈, 叫作链式栈。 顺序栈 package modulestype DataStack struct { data []int // 栈数组 count int // 栈元素个数 n int // 栈大小}...
2019-10-16 11:18:55
199
原创 golang是如何实现3DES加密
import ( "buslog" "bytes" "crypto/des" "encoding/base64" "errors")//ECB PKCS5Paddingfunc PKCS5Padding(ciphertext []byte, blockSize int) []byte { padding := blockSize - len(ciphertext)%block...
2018-11-20 18:10:57
457
转载 golang中几种加密方式的处理
缘由在与第三方平台进行接入的时候,通常会存在一些签名或者加密的处理,在进行开发的时候,因为语言的不同,需要按照规范进行相应处理。DES加解密DES:https://en.wikipedia.org/wiki/Data_Encryption_Standardgolang中的标准库crypto/des中有DES的实现,但是golang库的描述比较简单,如果不熟悉DES的加密规则,是不...
2018-11-06 14:20:59
4235
原创 NoPadding填充方式的RSA加密,用Java和Golang实现
关键:(1)Java支持NoPadding填充方式,并且已经封装好相应的接口,可通过Cipher.getInstance来指定RSA/ECB/NoPadding该对齐和填充方式;(2)Golang中不支持NoPadding的填充方式,只能通过以下方式来处理:c := new(big.Int).SetBytes(cipherText)plainText := c.Exp(c, priva...
2018-09-11 18:42:54
6749
1
原创 golang爬虫登录
www.changtu.com实现登录页面的抓取,http请求登录,下面直接贴代码:package mainimport ( "fmt" "io/ioutil" "net/http" "regexp")type MySpider struct { indexUrl string}//实现GET请求函数func (this MySpider) readUrlB...
2018-08-20 15:15:35
2511
转载 数据库事务的四大特性以及事务的隔离级别
数据库事务的四大特性以及事务的隔离级别 本篇讲诉数据库中事务的四大特性(ACID),并且将会详细地说明事务的隔离级别。 如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性:⑴ 原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客介绍事务的功能是一样的概念,因此事务的操作如果成功就必须要完全应用到数据库,如...
2018-08-20 15:10:26
191
转载 WSAStartup( )详解
这里用通俗的语言解释一下这个函数,就类似于opencv一样,要添加链接库函数,cv.lib等,要添加到附加依赖项,或者通过#pragma comment(lib,”cv.lib“)一样,然后才能包含头文件进行各种函数的调用。当然了,socket编程要调用各种socket函数,但是需要库Ws2_32.lib和头文件Winsock2.h,这里的WSAStartup就是为了向操作系统说明,我们要用哪个库...
2018-04-08 14:42:06
706
转载 Linux下利用backtrace追踪函数调用堆栈以及定位段错误
一般察看函数运行时堆栈的方法是使用GDB(bt命令)之类的外部调试器,但是,有些时候为了分析程序的BUG,(主要针对长时间运行程序的分析),在程序出错时打印出函数的调用堆栈是非常有用的。在glibc头文件"execinfo.h"中声明了三个函数用于获取当前线程的函数调用堆栈。int backtrace(void **buffer,int size) 该函数用于获取当前线程的调用堆栈
2017-12-29 16:40:04
352
SecureCRT远程连接工具,支持ssh、telnet、ftp等协议
2018-09-19
python3.docset离线文档(zeal) ,可以非常方便查看python资料。
2018-09-19
JAVA与GO语言实现的RSA加密算法的互通
2018-09-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人