原创 __cdecl與__stdcall

__cdecl 是C DECLaration的縮寫(declaration,聲明),表示C語言默認的函數調用方法:所有參數從右到左依次入棧,這些參數由調用者清除,稱爲手動清棧。被調用函數不會要求調用者傳遞多少參數,調用者傳遞過多或者過少的

原创 排序使得數組負數在正數左邊且按照原來的順序

假設一整型數組存在若干正數和負數,現在通過某種算法使得該數組的所有負數在正數的左邊,且保證負數件和正數間元素相對位置不變。時空複雜度要求分別爲:o(n),o(1) 例如     -3 4 2 -1 7 3 -5  排序後    -3

原创 圖的小結

對於圖這種數據結構,可以從五個維度來理解:表示方法,搜索算法,最小生成樹,最短路徑,最大流。 一、表示方法 鄰接表和鄰接矩陣 通常採用鄰接表(Adj)的方法,因爲這種方法表示稀疏圖(|E|遠小於|V|2的圖)比較緊湊,所需的存儲空間爲O(

原创 順時針打印矩陣

輸入一個矩陣,按照從外向裏以順時針的順序依次打印出每一個數字。 例如:如果輸入如下矩陣: 1              2              3              4 5              6           

原创 用C讀取INI配置文件

在Windows下可以用GetPrivateProfileString或GetPrivateProfileInt方便讀取.ini配置文件內容,但是在Linux平臺上就一籌莫展了。爲了解決該問題,打算用C來讀取.ini,即可不受平臺的限制了

原创 線程和進程的聯繫和區別

1)最主要的就是進程是操作系統資源分配的最小單位,每個進程有自己的獨立的地址空間(用戶空間)。而一個進程中的所有信息對該進程所有的線程都是共享的包括進程的程序文本,程序的全局內存和堆內存、棧以及文件描述符(這是最根本的區別,也是其他區別

原创 寫文章的好處

寫文章的好處: 第一,寫文章是個學習的過程。寫的過程中隨着自己的思路的進行,會出現理解不清楚的地方,自然就會翻書或者google的搞明白。 第二,寫

原创 數組左邊減去右邊數值的最大差值

求數組左邊減去右邊數值的最大差值,如下面的數組,a[] = {5, 11, 3, 10, 6, 1, 8, 4, 3, 2};組大差值爲11-1 爲10; #include <iostream> using namespace std;

原创 海量數據問題總結

這個是一系列問題,互聯網公司,一些基本的功能都已經做的很完善了,海量數據處理成爲重點的問題,也是面試筆試中常考的題目。主要參考http://blog.csdn.net/v_july_v/article/details/6279498 1.

原创 TCP/IP學習之 TCP與UDP的 區別

key:TCP是一種面向連接的、可靠的、字節流服務     1.面向鏈接:TCP面向鏈接,面向連接意味着兩個使用TCP的應用(通常是一個客戶和一個服務器)在彼此交換數據之前必須通過三次握手先建立一個TCP連接。在一個TCP中僅有兩方彼此通

原创 va_list,va_start,va_end,等的說明

庫裏的頭文件: #define _INTSIZEOF(n)   ( (sizeof(n) + sizeof(int) - 1) & ~(sizeof(int) - 1) )   #define va_start(ap,v)  ( ap =

原创 TCP/IP學習之 TCP緩衝區大小及限制

主要參考UNIX網絡編程。 (1)數據報大小IPv4的數據報最大大小是65535字節,包括IPv4首部。因爲首部中說明大小的字段爲16位。 IPv6

原创 __declspec(dllexport) 和 __declspec(dllimport)

在使用DLL中的函數或類 或變量時使用 __declspec(dllexport) 和 __declspec(dllimport)。   如果DLL和使用DLL的項目是在一個解決方案中,併產生了依賴關係,則使用DLL的項目只需要包含相關的

原创 TCP/IP學習之 TCP擁塞控制與定時器

TCP的交互數據流和成塊數據流 經受時延的確認 爲什麼要分這兩類呢?如果按照分析數量來計算,約有一半的TCP報文段包含成塊數據(FTP、電子郵件),另一半則包含交互數據(Telnet和Rlogin)。成塊的報文段基本上都是滿長度的,而交

原创 TCP協議中的三次握手與四次揮手

在TCP/IP協議中,TCP協議提供可靠的連接服務,採用三次握手建立一個連接,如圖1所示。  (1) 第一次握手:建立連接時,客戶端A發送SYN包(SYN=j)到服務器B,並進入SYN_SEND狀態,等待服務器B確認。  (2)