原创 【C語言】二分查找法

兩種寫法: 循環: int fuc(int *s,int x,int max) { int left=0; int right=max-1; int mid; while(left<=right) { mid=(right

原创 【C語言】厄密多項式

#include<stdio.h> /* 厄密多項式 */ int hermite(int n, int x) { if(n<=0) return 1; else if(n==1) return 2*x; else if

原创 QQ音樂聽歌升級漏洞-用C實現接口

漏洞怎麼發現的 有一次,正在使用抓包工具Wireshark,換了收歌,看到Wireshark多了幾條記錄,看到域名i.y.qq.com,最後發現是QQ音樂的。出於好奇,我是想研究下我切歌的時候,QQ音樂到底是發了哪些數據包,沒想到發現了

原创 [編程題]Shuffling Machine (洗牌程序)

Shuffling is a procedure used to randomize a deck of playing cards. Because standard shuffling techniques are seen as w

原创 單鏈表的sort以及resver的實現(改變鏈表指向而非數值)

單鏈表的sort 排序採用冒泡法,不是單純的改變鏈表結點的值,而是通過改變物理結構上的指針域指向實現。 void sort(List *list) { if(list->size <=1)` //基本條件

原创 【內存泄露/C++】基於重載new運算符的內存泄露檢測工具

···檢測內存泄露的方法有很多,這裏使用的是重載系統的new運算符和delete運算符。從而達到,在new的時候記錄申請內存的大小,和代碼所屬文件和行號,後兩個信息主要是爲了調試。在程序結束之前,訪問保存的這些信息,判斷內存是否泄漏。

原创 【字符串】大數的乘法(包括浮點數)

一.大數乘法 我們知道,要運算兩個數的乘法,c、c++語言裏有專門的運算符*。但是當兩個數超過一定的範圍時,用普通的運算符會產生溢出,並不能得到正確的結果。如何進行運算呢?       首先,要想保存一個大數,用正常的整形或浮點類型是不夠

原创 一個循環實現冒泡法排序(並沒有什麼卵用)

冒泡法時間複雜度爲O(n^2) 這個是改不了的 不可能因爲用一個循環實現,就變成了O(N)。。。 所以,並沒有什麼卵用,只是一種寫代碼的方式而已。。。 //Swap 用宏實現 #define Swap(a,b,c) ((c)=(a

原创 KMP算法解決字符串出現次數

比如主串爲:”1001110110” 子串爲:”11“ 則出現位置分別爲:3 4 7 //KMP算法 2015.6.7 #include<iostream> #include<stdlib.h> using namespace st

原创 【字符串】字符串包含問題的最優解

題目描述 給定兩個分別由字母組成的字符串A和字符串B,字符串B的長度比字符串A短。請問,如何最快地判斷字符串B中所有字母是否都在字符串A裏? 爲了簡單起見,我們規定輸入的字符串只包含大寫英文字母,請實現函數bool StringCo

原创 矩陣的排序

在一個m*n矩陣中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函數,按從小到大的順序打印這個矩陣到一個一維數組中。如圖,則應打印出 1,2,2,4,4,6,7,8,8,9,9,10,11,12,13

原创 【算法】字符串左移函數的O(n)解法

例如,字符串 abcdef ,若要讓def翻轉到abc的前頭,只要按照下述3個步驟操作即可: 首先將原字符串分爲兩個部分,即X:abc,Y:def; 將X反轉,X->X^T,即得:abc->cba;將Y反轉,Y->Y^T,即得:def

原创 【算法】合併排序

#include <STDIO.H> #include <STDLIB.H> void mergePass(int *ar,int *pr,int s,int size); void merge(int *ar,int *pr,int

原创 [編程題]數字分類

給定一系列正整數,請按要求對數字進行分類,並輸出以下5個數字: A1 = 能被5整除的數字中所有偶數的和; A2 = 將被5除後餘1的數字按給出順序進行交錯求和,即計算n1-n2+n3-n4…; A3 = 被5除後餘2的數字的個數;

原创 [Boost]用asio編寫簡單的socket通信程序

boost/asio庫中封裝了很多關於scoket的函數,當然,asio庫還包含很多底層的庫。 我們可以用socket編寫一個基於UDP協議的黑框通訊程序。 要想使用asio裏面的函數,大多都需要先創建一個io_service對象,然後通