【題目】
原文:write code to reverse a c-style string. (c-string means that 「abcd」 is represented as five characters, including the null character.)
譯文:寫**翻轉乙個c風格的字串。(c風格的意思是"abcd"需要用5個字元來表示,包含末尾的 結束字元)
【分析】
這是一道經典的面試題目,雖然看似簡單,但仍然有陷阱。唯一的陷阱就是空間複雜度為o(1)即原地置換,要特別注意null字元。
【**1】
/*********************************
* 日期:2014-05-05
* 題目: c風格字串翻轉
**********************************/
#include #include #include using namespace std;
//c風格字串翻轉
void reverse(char *str)
char *beg = str;
char *end = str;
//end指向最後乙個元素
while(*end)
//注意
--end;
char temp;
//交換
while(beg < end)
}int main()
【**2】
//c風格字串翻轉
void reverse(char *str)
int len = strlen(str);
char temp;
//交換
for(int i = 0;i < len / 2;i++)
}
【**3】
交換的進一步優化,使用異或進行交換:
//c風格字串翻轉
void reverse(char *str)
char *beg = str;
char *end = str;
//end指向最後乙個元素
while(*end)
//注意
--end;
char temp;
//異或 交換
while(beg < end)
}
12 C 之動態記憶體
全域性物件在程式啟動時分配,在程式結束時銷毀 區域性自動物件,進入其定義所在的程式塊時被建立,在離開塊時銷毀 區域性static物件在第一次使用前分配,在程式結束時銷毀。每個程式擁有三個記憶體塊 靜態記憶體 棧 堆。分配在靜態記憶體和棧中的物件由編譯器自動建立和銷毀。對於棧物件,僅在其定義的程式塊執...
12c簡單查詢
檢視例項名稱 select instance name from v instance 檢視所在資料庫 show con name 檢視檢視 select name,con id from v services 檢視可插拔資料庫 select con id,name,open mode from v...
12C的審計模式
1.mixed auditing policy 混合審計模式支援新的審計引擎和老的審計引擎一起工作 資料庫公升級後,已有的審計設定不會受到影響。但是官方建議遷移到統一審計模式。資料庫建立後,預設是使用混合模式。在決定使用unified auditing模式之前,可以使用混合模式建立審計策略然後開啟該...