#include
#include
#include
#define maxsize
100//- 字元棧
//- 棧頂元素
//- 建立乙個棧
//- 銷毀乙個棧
//- 壓棧
//- 彈出棧
//- 返回棧中的資料個數
//- 判斷棧是否為空
//- 判斷棧是否滿
struct stackcdt
;typedef struct stackcdt *stackadt;
stackadt newstack()
void
freestack
(stackadt pdata)
bool stackfull
(stackadt pdata)
bool stackempty
(stackadt pdata)
bool pushstack
(stackadt pdata,size_t *value)
bool popstack
(stackadt pdata,size_t *value)
size_t getstackadtdepth
(stackadt pdata)
bool getstackadtelement
(stackadt pdata,size_t size,size_t *value)
int main()
注意點
bool popstack
(stackadt pdata,size_t *value)
這個執行的時候 要先–pdata->top 而不是pdata->top --。
假設只允許0到9之內的資料push到棧中怎麼辦呢,
乙個模組應該要「對擴充套件開放,對修改關閉」。
bool pushrangcheck
(stackadt pdata,int *value,int min,int max)
c語言從零寫個校驗器(很牛的校驗器)
#include
#include
#include
#define newrangevalidator
(min, max)
#define newoddevenvalidator
(iseven)
#define maxsize
100//- 字元棧
//- 棧頂元素
//- 建立乙個棧
//- 銷毀乙個棧
//- 壓棧
//- 彈出棧
//- 返回棧中的資料個數
//- 判斷棧是否為空
//- 判斷棧是否滿
struct stackcdt
;typedef struct stackcdt *stackadt;
typedef bool(*
const validate)
(void
*pthis,int value)
;//變數先定義
typedef structst_rangcheck;
typedef struct st_oddcheck;
bool rangcheck
(void
*pdata,int value)
bool oddcheck
(void
*pdata,int value)
bool validatecheck
(void
*pdata ,int value)
stackadt newstack()
void
freestack
(stackadt pdata)
bool stackfull
(stackadt pdata)
bool stackempty
(stackadt pdata)
bool pushstack
(stackadt pdata,size_t *value)
bool popstack
(stackadt pdata,size_t *value)
size_t getstackadtdepth
(stackadt pdata)
bool getstackadtelement
(stackadt pdata,size_t size,size_t *value)
bool pushrangcheck
(stackadt pdata,int *value,int min,int max)
bool pushvalidatecheck
(stackadt sdata,
void
*pdata ,int value)
else
} int main()
bool pushrangcheck
(stackadt pdata,int *value,int min,int max)
bool pushvalidatecheck
(stackadt sdata,
void
*pdata ,int value)
else
}
在opc原則思想指導下,我們這邊可以輕鬆的建立相似的函式。美妙!!!
結合ruby寫的乙個校驗工具
背景 每次發布detail這邊一般都要發布多個js檔案,然後同步到不同的cdn 現階段cdn有提供乙個平台,前端在發布js後可以根據js的檔名來逐個校驗下每個js是否同步到每乙個cdn節點,但在有多個js發布的時候,可能不能逐一校驗,detail這邊有出現發布js後同步到個別的 節點同步失敗,所以考...
用c c 寫乙個堆疊管理程式
這是乙個面試題,那個狗日的面試官讓我當場寫出來,我要是能寫出來也得累出血了。感謝原文作者的貢獻,文中還有小錯誤,會盡快改正。標頭檔案 ifndef ksmfmemory define ksmfmemory ifndef kcahr define kchar char else define kcha...
堆疊實現乙個整型計算器
計算器特性 支援整型運算 能夠處理運算子和運算元間的空格,支援括號 實現思路 利用乙個運算元堆疊dgt和乙個運算子堆疊ops實現 1 從左至右掃瞄運算表示式輸入,若為運算元則直接壓入dgt堆疊 2 若為運算子則判斷ops中是否已經存在運算子,不存在則直接壓入,存在則與棧頂運算子比較優先順序,優先順序...