原创 c語言實現回調函數

callback.c /* * @file c語言實現回調函數 * @detial 在java等更高級的語言中往往已經給我們封裝好了回調函數的調用方式,直接用就可以了。 * 而C語言中並沒有這種直接可以操作的回調方式,我們用

原创 正態分佈,Python實現

# coding=utf-8   import numpy as np from scipy import stats import matplotlib.pyplot as plt   n = 10 p = 0.3 k

原创 讀寫分離實踐:mysql-proxy

【系統環境】 ubuntu12.04 64bit 【步驟】 下載mysql-proxy ftp://mirror.switch.ch/mirror/mysql/Downloads/MySQL-Proxy/mysql-proxy-0.8.4

原创 geohash實現(c語言)

GeoHash算法 首先,你要Baidu下,找到該算法核心原理,這裏摘自網絡文檔,簡單介紹下。 GeoHash算法是通過二分法,經過一定次數的無限逼近,將經緯度的二維座標浮點值變成一個可排序、可比較的的字符串編碼。 在編碼中的每個字符代表

原创 對”堆”的理解

對”堆”的理解 向下調整 向上調整 堆是一種特殊的完全二叉樹,至於什麼是完全二叉樹自己搜吧,這裏就不講了,看圖: 如上,所有父結點都比子結點要小,符合這樣特點的完全二叉樹我們稱爲小頂堆。反之,如果所有父結點都比子結點要大

原创 C調用graphviz繪製堆

之前的博客http://blog.csdn.net/socho/article/details/51565498《對”堆”的理解》中打印堆是在終端中,不是很直觀,發現一個可以生成圖片的利器graphviz,於是用c語言調用下,程序

原创 索引查找

索引查找是在索引表和主表上進行的查找,主表是線性表。先按照給定的哈希算法(比如value%100)對每一個value做哈希運算,將value映射到不同的數據段中(以模100爲單位),這樣每隔100個數段的區間就被一個哈希值做的索引

原创 計算比特幣發行量總額

以下C代碼用於計算比特幣發行量總額 #include <stdio.h> #include <math.h> int main(){     long btc = 50 * pow(10, 8); // 初始,每個塊獎勵 50*

原创 二分查找、折半查找

二分查找也叫折半查找,原理不用寫了,百度下,這裏給出C語言版本 #include <stdio.h> #define N 10 void printA(int A[], char n){ int i = 0; fo

原创 歡迎使用CSDN-markdown編輯器

歡迎使用Markdown編輯器寫博客 本Markdown編輯器使用StackEdit修改而來,用它寫博客,將會帶來全新的體驗哦: Markdown和擴展Markdown簡潔的語法 代碼塊高亮 圖片鏈接和圖片上傳 LaTex數學公

原创 從零開發MQTT服務(一)

開發語言:Linux下C語言,gcc 版本 4.4.7 20120313 (Red Hat 4.4.7-17) (GCC) 操作系統:Centos 6.5 64bit 源碼地址:https://github.com/liber

原创 linux下如何讓程序無法重複啓動

通常情況下一個程序可以被多次執行,也就存在多個相同的進程。有時候我們有些全局資源只允許單進程訪問,爲了不讓進程多起,要實現進程在一臺機器上只能有一個實例的方法。 經查找,可以使用flock的方式,建一個lock file,讓程序

原创 快速排序

C語言實現 #include <stdio.h> #define N 9 int A[N] = { 10, -3 , 28, 76, 37, 55, -1, 99, 11}; void printArr(int arr[], in

原创 程序實現黎曼和(定積分)

想象一下,如果你手裏有一塊形狀不規則的土地(實際上我沒有,窮…),要測量它的面積,怎麼辦呢? 拿尺子量,不知如何下手,突然感覺高中幾何解決不了,得祭出本科的高等數學才行。所以,慣例我們應該發揚拿來主義,比如 “國際上,如何如何…”

原创 用Golang實現基於時間輪算法的定時器

關於什麼是時間輪算法,自己百度吧,這裏列出我用go語言實現的時間輪算法,已經上線應用,穩定。 package timer import ( "log" "sync" "time" ) const whe