自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 快速排序

每次都找一个枢纽(下面代码用数组的最后一个),将它放到正确的位置,再把这个枢纽位置的俩边进行递归。func quickSort(arr []int, l, r int) { if l < r { mid := partionSort(arr, l, r) quickSort(arr, l, mid[0]-1) quickSort(arr, mid[0]+1, r) }...

2020-01-31 22:19:49 196

原创 荷兰国旗问题

问题一: 给定一个数组,和一个数num,把小于等于num的数放在数组的左边,大于num的数放在右边。使用一个指针(代码中为数组下标less)存储数组中小于num的区间,从-1开始。 使用另一个指针来遍历数组(代码中为index),遍历过程中将小于等于num的数归入左边区间,数组下标下移。func partion(arr []int, target int) { // 将小于等于targ...

2020-01-31 11:07:56 263

原创 由递归排序引申出的小和问题和逆序数对问题

递归排序的思想是将带牌列数组不断的拆成俩部分,再将有序的左右的俩部分合并。小和问题:在一个数组中,每一个数左边比当前小的数累加起来,叫做这个数组的小和。求一个数组的小和。逆序对问题,在一个数组中,打印出数组所有左边数大于右边数的组合。下面是归并排序的代码(go语言)// 写一个归并排序func mergeSort(arr *[]int, l, r int) { // 这部分是...

2020-01-30 18:02:12 233

原创 Golang俩个线程实现交替打印1和2 10次

一、一个进程写,一个进程读, 一个管道存数据, 一个管道进行退出控制。func main() { intChan := make(chan int, 20) exitChan := make(chan bool, 1) go func(intChan chan int){ for i:=0; i< 20; i++ { intChan<- (i%2 + 1)...

2020-01-10 22:39:46 1558

原创 管道channel 有无缓冲区的区别

如果没有缓冲区,单纯的往其中放入元素立马就会进入阻塞状态,必须有其他的线程从其中取走元素。通俗的讲要有一个线程不断的取这个管道的元素,才能往其中放入元素。它就像一个窄窄的门框,进去就得出来。 而有一个缓冲区的管道想一段地道,放入的元素不会马上进入阻塞状态,只有第二个准备进入而第一个还没有进入的情况下才会阻塞。没有缓冲区的管道示例:func main() { intChan := ma...

2020-01-10 17:32:00 848

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除