原创 【數據結構】淺析時間複雜度與空間複雜度

衆所周知,衡量算法效率的標準爲:時間複雜度 和 空間複雜度。 通俗地來講,時間複雜度就是一個 程序要被執行的次數,它是一個近似值,而不是執行的時間。空間複雜度,是程序執行過程中所 佔用的最大內存。 接下來通過兩段代碼來說明下如何計算一個程

原创 【數據結構】帶有頭結點的雙向循環鏈表的基本操作

本篇主要實現了帶有頭結點的雙向循環鏈表的基本操作,其中包括增刪改查以及清空銷燬、判空、求結點個數等等。 頭文件 DoubleLinkList.h # ifndef __DOUBLELINKLIST_H__ # define __DOUB

原创 【C】判斷當前系統是大端還是小端

1、大小端介紹  實際上,大小端指的是數據在內存中的存儲模式。大端字節序(存儲模式):一個數據的低位字節序的內容存放在高地址處,而高位字節序的內容存放在低地址處。小端字節序(存儲模式):一個數據的高位字節序的內容存放在高地址處,而低位字節

原创 【C】折半(二分)查找

折半查找也稱爲二分查找,是一種在有序數組中查找某一特定元素的搜索算法。其優點是查找速度快,缺點是所要查找的數據必須在有序序列中。 1、基本思想 假設有一個升序排列的數組 arr,在該數組中查找元素 key。首先找出該數組中最中間的元

原创 【C】庫函數之atoi

Convert string to integer# include <stdlib.h> int atoi (const char * str);  Parses the C-string str interpreting its co

原创 【C】庫函數之printf

  本篇實現的printf函數聲明爲: # include <stdio.h> void VarPrint(const char * format, ...);   主要實現了對字符串、字符以及數字(ps:正負數和0)的打印,當然這只

原创 【C】淺析 #define 宏和函數的區別

本篇將通過以下幾個方面來闡述 # define 宏 和 函數的不同之處: 1、執行速度(效率) #define 宏 的執行速度快,而函數由於存在函數調用以及函數返回時的額外開銷,因此函數的執行速度慢一些。通俗點來講,就是 #define

原创 【C】深入淺出之函數棧幀

首先,從調試的角度來看下面這段代碼, 可以發現這是一個死循環,那麼這是爲什麼呢? 且聽我慢慢道來,在執行 main 函數時,棧區會爲其開闢一片空間,高地址在下,低地址在上。由於變量 i 先定義,那麼先爲i分配高地址的空間(ps:壓棧),

原创 【C】淺析 C 的那些事兒

1、sizeof sizeof 是一個計算“變量”(參數)所佔空間大小的運算符,其參數可以是變量、指針、數據類型、數組名、結構體、函數、對象等等,其值在編譯時就已經計算好了。爲什麼說 sizeof 是一個運算符,而不是一個函數呢?先來看看

原创 【C++】string 類及 STL 常見容器

String 類 if (_str) { _str = new char[1]; *_str = '\0'; } | | v v if (_str) { _str = ""; } ~Str

原创 【Linux】vimtutor

vim 簡單說明 "set mouse=a  加註釋  一個雙引號即可 nmap <F9> :set mouse-=a<cr>  設置快捷鍵F9來取消鼠標可用  按鍵映射  存儲到哈希表中, <cr>表示添加回車 nmap <F10> :

原创 fio_generate_plots

安裝 fio 源碼後即可使用 fio_generate_plots。 Fio Git URL # you can execute "git clone git://git.kernel.dk/fio.git" git://gi

原创 【C】用一個宏實現求兩個數中的最大數

1、最常見的實現方法 #define MAX(X, Y) \ ((X) > (Y) ? (X) : (Y)) 上述實現方式對於參數具有副作用的情況,很容易出現意想不到的結果。比如: int a = 2; int b =

原创 【Linux】編寫 Makefile

適配多文件多目錄 #################################################### #####Copyright (c) 2018, code farmer from sust.##### #

原创 【Erlang】Erlang入門(二)

1.模塊 模塊文件通常存放在以.erl爲擴展名的文件中,編譯成功後的文件擴展名爲.beam。 2.函數 函數由多個子句構成,子句間以分號間隔,最後一條子句以句點作爲結束符。 如:getArea.erl文件代碼如下, -module(ge