原创 【面試題一】類型轉換關鍵字,空類對象模型,拷貝構造函數,賦值運算符函數

一,在C++中,有哪4個與類型轉換相關的關鍵字?     好多書籍,推薦使用類型轉換的關鍵字,但是c風格的類型轉換操作,確實很方便,但是不易掌握。 1、const_cast 號稱唯一具有常量性移除的轉型操作符,這個說法實在很廢話,不解釋。

原创 eclipse地下如何通過CVS同步代碼服務器的代碼

CVS是一個C/S系統,是一個常用的代碼版本控制軟件。主要在開源軟件管理中使用。與它相類似的代碼版本控制軟件有subversion。 怎麼更新與服務器端的一樣 點贊 收藏 分享

原创 Sublime Text 2 – SFTP/FTP 安裝與使用

默認的Sublime Text 2 是沒有sftp/ftp功能的,如果編輯器自帶ftp勢必會提高開發效率,雖然Sublime Text 2 默認是沒有ftp功能,但是安裝sftp插件很容易。下面是我安裝步驟,希望能幫助那些喜歡Sublim

原创 兩個與位運算有關的小問題【面試題】

       在讀《編程之美》一書時,書中提到兩個小問題: 1.如何求算N!的二進制表示最低位1的位置。 2.如何用最簡便最快的方法判斷一個正整數是否是2的方冪。        對於第一個問題:對於任何一個整數n,當表示成二進制時,若最低

原创 【面試題二十】順時針打印矩陣

順時針打印矩陣 輸入一個矩陣,按照從外到裏的順序打印出每一個數字, 如果只有一行,那麼就不用第二步了, 第二步的前提條件是終止行號大於起始行號。 第三步的前提條件是圈內至少要有兩行兩列,也就是說除了終止行號要大於起始行號外,還要求終止利好

原创 【面試題十三】在O(1)時間刪除鏈表結點

在O(1)時間刪除鏈表結點 我們要刪除結點i,我們可以把結點i的下一個結點j的內容複製到結點i,然後呢把結點i的指針指向結點j的下一個結點。然後在刪除結點j; 1.如果結點i位於鏈表的尾部; 2.如果結點i位於鏈表的頭部; 3.如果結點

原创 【面試題二十三】從上往下打印二叉樹

從上往下打印二叉樹 層次遍歷二叉樹就是隊列的應用 樹是圖的一種特殊退化形式,從上到下按層次遍歷二叉樹,從本質上來說就是廣度優先遍歷二叉樹。 PrintTree.cpp: #include <iostream> #include <cs

原创 【面試題十四】調整數組順序使奇數位於偶數前面

調整數組順序使奇數位於偶數前面 輸入一個整數數組,實現一個函數來調整該數組中數字的順序,使得所有奇數     位於    數組的前半部分,所有偶數位於數組的後半部分。 1.第一個指針初始化爲指向數組的第一個數字,他向後移動 2.第二個指針

原创 【面試題二十一】包含min函數的棧

包含min函數的棧 MinStack.cpp: #include <iostream> #include "StackWithMin.h" #include <cstdio> using namespace std; void Tes

原创 【面試題二十二】棧的壓入、彈出序列

棧的壓入、彈出序列 如果所有的數字都壓入棧了仍然沒有找到下一個彈出的數字, StackPushPop.cpp: #include <iostream> #include <cstdio> #include <stack> using n

原创 【面試題九】斐波那契數列

斐波那契數列 f(n) = 0   ; n = 0 f(n) = 1   ; n = 1 f(n-1) + f(n-2)  ; n > 1 Fib.cpp: #include <iostream> using namespace

原创 【面試題二十四】二叉搜索樹的後序遍歷序列

二叉搜索樹的後序遍歷序列 解決樹的問題就是分析,怎麼把樹的結構一點一點變小,變成子樹, 問題的域一直在變小,然後怎麼遞歸的解決這個子問題, 遞歸這個子問題的返回條件是什麼。 先找到二叉樹的根結點,再基於根結點把整棵樹的遍歷序列拆分成左子

原创 【面試題十】二進制中1的個數

二進制中1的個數 這個世界上面有10種人,一種人知道二進制,而另一種人不知道二進制……呵呵…… 輸入一個整數,輸出該數二進制表示中1的個數。 方法一: 1除了最右邊的一位之外,其他所有位置都是0,如果一個整數與1做與運算的結果是1,表

原创 【面試題二十五】二叉樹中和爲某一值的路徑

二叉樹中和爲某一值的路徑 只有前序遍歷,首先訪問根結點。 前序遍歷訪問到某個結點,把該結點添加到路徑上,並累加該結點的值, 遞歸函數推出前,要在路徑上刪除當前結點,並且減去當前結點的值, 遞歸返回的條件是到了葉子結點。 保存路徑的數據結

原创 【面試題十六】反轉鏈表

反轉鏈表 定義一個函數,輸入一個鏈表的頭結點,反轉該鏈表並且輸出反轉後鏈表的頭結點; 我們定義三個指針,分別指向當前遍歷到的結點,她的前一個結點,她的後一個結點; RevList.cpp: #include <iostream> #in