原创 函數指針&回調函數&linux中的signal函數

1.  int (*func)();函數指針,指向的函數爲空參數,返回整型; 2. 回調函數是一個程序員不能顯式調用的函數;通過將回調函數的地址傳給被調用者從而實現調用。 回調函數是一個通過函數指針調用的函數。如果你把函數的指針(地址)作

原创 NOSQL開源數據庫是一個不錯的積累方向?

1、看了前google老員工朱會燦關於搜索雲計算平臺的演講幻燈片,纔對整個平臺的架構有了更清晰的認識。 印象最深的是他的比喻。一個通常的OS需要文件系統,進程管理,系統軟件(數據庫),編程接口;把一個雲計

原创 Exception C++中討論的異常安全棧,封裝內存管理的版本,使用"成員變量"的方式實現

  #include <new> template<class T1, class T2> void construct(T1* p,const T2& val) {  new (p) T1(val);/

原创 C++ STL list 成員函數 sort算法分析

最近在讀《STL源碼剖析》,頗有收穫。當看到list結構的排序方法sort時,發現侯捷先生點到爲止,說採用的是快速排序,也沒有繼續說明。我心存疑慮,怎麼看這個代碼都不像快排。   template <class _Tp, class _A

原创 不帶頭節點鏈表逆序的兩種方法

公司筆試或面試常考這一點。 遞歸解法如下: node* reverse(node * head){ if(head==NULL || head->next==NULL)  return head; node* tail= head->ne

原创 如何產生全排列?

產生全排列的算法問題看似簡單,實際也是一個經典的問題。以下給出了兩種解法,一種是遞歸解法,另一種是STL模板庫裏面的產生下一個排列數的函數源代碼。   方法一: 將產生N個數的全排列的問題看成先產生一個數的排列,再產生兩個數的排列,當N=

原创 和老李交流的記錄

今天和老李聊了一個多小時電話,感觸良深。大家都曾經是文藝青年,現在是程序員,再久不聯繫,內心還是很親切。老李主要講了幾點:        1、向周圍的同事學習的同時,要學會分享。分享一方面是注意總結自己,每天學到的好東西,看到的好東西,要

原创 淘寶09和百度07年的一道編程題

實現一個函數,對一個正整數n,算得到1需要的最少操作次數: 如果n爲偶數,將其處以2; 如果n爲奇數,可以加1或減1; 一直處理下去。 例子: 61 60

原创 C複習筆記(6)-6.24

6.24   A improve version for the answer book! Notice: int isprint ( int c ); Check if character is printable, I first

原创 C複習筆記(3)-6.19

6月19日. (1) Write a program to count blanks, tabs, and newlines.               Note:

原创 Exception C++中討論的異常安全堆棧的,封裝內存管理的版本,使用私有繼承的方式複用

  #include <new> template<class T1, class T2> void construct(T1* p,const T2& val) {  new (p) T1(val);

原创 (轉)A Memory-Efficient Doubly Linked List

In the quest to make small devices cost effective, manufacturers often need to think about reducing the memory size.

原创 華爲公司的筆試題:寫一個Stack,注意處理異常。這裏給出一個exception c++上討論的一個簡易版本代碼。

  #include <iostream> #include <exception> #include <assert.h> using namespace std; template<typename

原创 紀念找工作的日子

    從2008年10月9日淘寶網在中南的第一場筆試,到 2008年11月6日在慎重思考之後,選擇中興通訊(深圳),這是一段難忘的日子。此時時刻,很多公司的招聘仍然在如火如荼的進行着,趁着激情仍在,記錄下這段心路歷程,希望能對學弟學妹們

原创 C複習筆記(7)-7.4

  My method, it seems easy, because I read a line a time!   Write a program to remove all trailing blanks and tabs from