我比较喜欢先给出代码,然后得出结论数组 1 package main 2 3 import ( 4 "fmt" 5 ) 6 7 func main() { 8 arr := [...]int{1, 2, 3} 9 //打印初始的指针10 fmt.Printf("t...
分类:
其他好文 时间:
2014-09-05 14:13:01
阅读次数:
242
1. 快排 详见之前博文快速排序算法。 2. 堆排序 详见之前博文非递归方法的堆排序实现。 3. 简单排序(冒泡排序、选择排序和插入排序) 代码如下: #include #include #include #define N 20static void show(int *arr, int len)...
分类:
其他好文 时间:
2014-09-05 14:08:51
阅读次数:
198
1 //快速排序 2 public static int partion(T a[],int low,int high) 3 { 4 T pivo=a[low]; 5 while(low=0)13 {14 ...
分类:
其他好文 时间:
2014-09-04 18:51:19
阅读次数:
211
实现逻辑1、Golang 版本 1.32、实现原理: 1、主进程建立TCP监听服务,并且初始化一个变量 talkChan := make(map[int]chan string) 2、当主进程ACCEPT连接请求后,利用go 启动一个协程A去维持和客户端的连接,把taokChan带入到协程里 ...
分类:
其他好文 时间:
2014-09-03 19:44:27
阅读次数:
281
先生成ssl证书openssl genrsa -out key.pem 2048openssl req -new -x509 -key key.pem -out cert.pem -days 1095然后,大概这样package mainimport ( "log" "net/http"...
分类:
其他好文 时间:
2014-09-03 16:39:46
阅读次数:
177
最近整理了下以前的资料。有的算法没有实现,嘿嘿,以后再补吧!
/**
*排序算法的分类如下:
*1.插入排序(直接插入排序、折半插入排序、希尔排序);
*2.交换排序(冒泡泡排序、快速排序);
*3.选择排序(直接选择排序、堆排序);
*4.归并排序;
*
关于排序方法的选择:
*(1..
分类:
编程语言 时间:
2014-09-03 15:06:27
阅读次数:
262
快排,取一个key值,一般取第一个即可,将小于key的放到左边,大于key的放到右边,递归实现 1 import random 2 def quicksort(data, low = 0, high = None): 3 if high == None: 4 high = l...
分类:
编程语言 时间:
2014-09-03 12:48:36
阅读次数:
343
package com.rainfool.quicksort;public class Test2 { public static void main(String[] args) { Integer[] a = { 2, 8, 7, 1, 3, 5, 6, 4 }; ...
分类:
其他好文 时间:
2014-09-03 11:10:16
阅读次数:
220
本文介绍两种交换排序方法:冒泡排序、快速排序冒泡排序冒泡排序基本思想每次遍历完序列都把最大(小)的元素放在最前面,然后再对剩下的序列重复前面的一个过程,每次遍历完之后待排序序列就少一个元素,当待排序序列减小为只有一个元素的时候排序就结束了.因此,复杂度在最坏的情况下是O(N ^2).冒泡排序实现过程...
分类:
其他好文 时间:
2014-09-03 01:30:55
阅读次数:
311
引言 快排采用分治法(Divide and Conquer)把一个list分为两个sub-lists。 算法步骤 1. 从数列中跳出一个元素,作为基准(pivot)。 2. 重新排序数列,所有比基准值小的元素(elements pivot)放在基准值后面,与基准值相等的数可以放在任意一边。此操作即为...
分类:
其他好文 时间:
2014-09-02 22:36:25
阅读次数:
298