c or c++實現靜態棧:not thread safe
//stack.h
const int stacksize=256;
static int g_top=stacksize-1;
static int g_stack[stacksize];
bool push(int adata);
bool pop(int &adata);
//stack.cpp
#include "stack.h"
bool push(int adata)
if(g_top>=0)
g_stack[g_top--]=adata;
return true;
return false;
bool pop(int &adata)
if(g_topadata=g_stack[++g_top];
return true;
return false;
實現動態棧:not thread safe
//stack_dynam.h
static int* g_stackarray;
static int g_top;
static int g_stacknum;
bool initialize_stack(int size);
bool push(int adata);
bool pop(int &adata);
void destory_stack();
//stack_dynam.cpp
bool initialize_stack(in size)
if(size>0)
g_stackarray=new int[size];
if(!g_stackarray)return false;
g_stacknum=size;
g_top=g_stacknum-1;
return true;
return false;
bool push(int adata)
if(g_top>=0)
g_stackarray[g_top--]=adata;
return true;
return false;
bool pop(int &adata)
if(g_topadata=g_stackarray[--g_top];
return true;
return false;
void destory_stack()
if(g_stackarray)
delete g_stackarray;
g_stackarray=null;
定義二叉樹:
typedef struct btree
int data;
struct btree* left;
struct btree* right;
}*pbtree;
用二節點定義多叉樹:
左子樹為其節點的左兒子,右子樹為該節點同層右相鄰節點,可遍歷多叉樹
設計大型系統,需求為該系統 內部可儲存20g,每天接受100k份文字的提交,每個文字500k至1兆,如果檔案有類似,這及時判重忽略。
比較兩個檔案:判斷類似(檔名不同,但內容相差僅多一行or多特殊字元,多幾段重複等)
可用jude畫元件圖,系統初始化時開啟監聽/備份/索引執行緒等待觸發。當文字請求到達,observer模式通知engine建立執行緒池,將資料庫檔案分n塊提交給n執行緒掃瞄判重,有乙個類似則立刻通知engine同步返回,無則直至掃瞄結束通知。
同時掃瞄兩個檔案,歸併思想。
百度面試小結
首先就是自我介紹啦,接著我們聊到前兩天csdn資料庫被黑導致使用者密碼被盜,然後聯絡到我和同學做的乙個小專案,專案是用php寫的,面試官就問我是怎麼處理使用者登入資訊的,我答用cookie,當然我知道這個很不安全,但是小 只供本校學生使用,就沒有考慮http傳輸時被竊取,當然我資料庫裡面是用md5加...
百度面試感想
下面就講講面試的過程,我報的移動終端開發,開始是自我介紹,我想這個已經介紹了大概好多次了,等我說完後,他就問我感覺筆試怎麼樣,我就說筆試有點難,然後叫我寫一道字串的題 乙個字串a abcd b cdab 怎樣去判斷b是否為a 字串左轉而成的結果,然後寫了二叉樹的深度優先遍歷,昨天晚上看了下,但是過去...
百度實習面試
c 1 c 細節語法,虛函式,多型,vector 2 寫 二分查詢 快排 改進 逆置鍊錶 3 三次握手 tcp ip結構 4 linux命令 5 資料庫語句 php 1 php寫程式 2 php語法 3 mysql索引 事務 併發 4 mysql多表設計 5 php執行過程 6 c 編譯過程 pyt...