原创 二叉樹經典面試題

二叉樹的結點類型如下: typedef struct BtNode { BtNode *leftchild; BtNode *rightchild; ElemType data; }BtNode, *Binary

原创 【數據結構】二叉樹之堆排序(完整代碼)

堆的概念 最小堆:任一結點的關鍵碼均小於等於它的左右孩子的關鍵碼,位於堆頂結點的關鍵碼最 小 最大堆:任一結點的關鍵碼均大於等於它的左右孩子的關鍵碼,位於堆頂結點的關鍵碼 最大 堆存儲在下標爲0開始計數的數組中,因此在堆中給定小標爲i的

原创 從 網址 輸入到頁面展現發生了什麼?(What really happens when you navigate to a URL)

原文地址:點擊打開鏈接當你從瀏覽器輸入www.baidu.com後臺發生了什麼1.將URL輸入到瀏覽器中  這是最點單的一個,例如:facebook.conm2.瀏覽器根據域名查找IP地址瀏覽的第一步就是爲訪問域名計算出IP地址。DNS查

原创 CVTE筆試試題-第一個字符串中刪除第二 個字符串中沒有出現過的字符,並返回第一個字符串的指針

題目: 實現以下函數:輸入爲兩個字符串指針,要求從第一個字符串中刪除第二 個字符串中沒有出現過的字符,並   返回第一個字符串的指針。實現函數:   char* intersectStr(char* str1, char* str2)示例

原创 最長不重複字串

編程:給定兩個字符串A,B(只包含26個英文字母),輸出所有公共的最長子字符串(如果出現重複子串,則輸出多次) 輸入包括兩行,每行爲一個連續字符串(大小寫敏感)輸出包括多行,每行爲掃描到的最長公共子串,按照該子串在字符串A(即第一行輸入字

原创 c++多態

最近查看有關多態的知識,感覺有些陌生,因此梳理一下c++多態的知識      多態:分爲靜多態和動多態,分別對應編譯時期綁定的稱爲靜多態(早綁定),非編譯時期綁定的稱爲動多態(晚綁定) 靜多態通過函數模板和重載實現.本質是接口的複用。 函

原创 switch和if相關內容總結

第一個問題:switch和if else的區別:switch...case與if...else的根本區別在於,switch...case會生成一個跳轉表來指示實際的case分支的地址,而這個跳轉表的索引號與switch變量的值是相等的。從

原创 c++ string 類的實現

#include <iostream> #include <string> class CString { public: CString(const char *p = NULL) { if (p == NULL) {