原创 反轉單鏈表

將一個單鏈表反向。即:讓原來的前一結點成爲後一結點,原來的頭結點成爲尾結點,原來的尾結點成爲頭結點。   listnode.h struct Listnode {  int mvalue;  Listnode *pnext; };  

原创 中序遍歷二叉樹

創建一個二叉樹,並實現對二叉樹的中序遍歷。 這裏用兩種方法實現對二叉樹的中序遍歷:第一種方法:遞歸方法,該方法不需要使用輔助工具棧;                                                     

原创 二叉樹中和爲某一值的路徑

題目:輸入一個二叉樹和一個整數,打印出二叉樹中結點值的和爲輸入整數的所有路徑。   分析: 從樹的根結點開始一直往下直到葉結點所經過的結點形成一條路徑,因此要採用前序遍歷。遍歷過程中要把訪問過的結點保存下來,這樣當某一條路徑滿足要求時才能

原创 單鏈表的逆序輸出

/*單鏈表的順序輸出,即從頭結點開始,一次後移,輸出;單鏈表的逆序輸出,可先將其結點從頭結點開始一次入棧,再從棧頂開始,依次出棧即可*/     //先創建鏈表結點的結構體 鏈表結點.h structListNode {    

原创 刪除單鏈表中的一個結點

         在單向鏈表中刪除一個結點,最常規的方法是從鏈表的頭結點開始,順序遍歷,查找要刪除的結點。如果該結點在鏈表中,則刪除該結點。這種情況通常是指明要刪除的值,我們要通過比較鏈表中結點的值與給定的值是否相等來判斷鏈表是否存在該結

原创 IP Phone

 隨着光網絡的飛速發展和數字傳輸技術的應用,原來在數據通信網中被視爲應用“瓶頸”的帶寬和服務質量等問題一一得到解決,推動了IP技術的飛速發展,帶動各種應用向IP靠攏, IP電話(又稱IP PHONE或VoIP)業務就是其中一個典型的應用。

原创 十道海量數據處理面試題與十個方法大總結

十道海量數據處理面試題與十個方法大總結 第一部分、十道海量數據處理面試題 1、海量日誌數據,提取出某日訪問百度次數最多的那個IP。 此題,在我之前的一篇文章算法裏頭有所提到,當時給出的方案是:IP的數目還是有限的,最多2^32個,所以可以

原创 醜數問題

/*只包含因子2、3和5的數稱爲醜數*/ /*題目:求按從小到大的順序的第1500個醜數*/ 默認1爲第一個醜數 最直接的思路:對每一個數都判斷其是否爲醜數,如果是,就將計數加1,直到找到第1500個醜數爲止。 這種方法很直觀,代碼也挺簡

原创 快速排序算法

用兩種方法實現快速排序算法: 第一種方法,函數的形參爲數組名和數組的首尾; 第二種方法,函數的形參爲數組名和數組長度。 這兩種方法實質都差不多,就看對形參的要求了。採用遞歸的方式實現對數組的排序! 重點要理解算法的思想! #include

原创 電腦開機後原來桌面的圖標全都沒了,鼠標可以移動但右擊不管用

問題:今天電腦出了點問題:開機後原來桌面的圖標全都沒了,鼠標可以移動但右擊不管用,什麼任務欄,工具欄都沒有。最後終於找到了一個解決辦法,問題OVER了!跟大家共享一下。   解決方法:用ctrl+alt+del三鍵打開任務管理器,可以從“

原创 哈夫曼編碼的C語言實現

我們設置一個結構數組 HuffNode 保存哈夫曼樹中各結點的信息。根據二叉樹的性質可知,具有n個葉子結點的哈夫曼樹共有 2n-1 個結點,所以數組 HuffNode 的大小設置爲 2n-1 。HuffNode 結構中有 weight,

原创 把字符串轉換成整數

把字符串轉換成整數,要把很多特殊情況考慮進去,如:空指針NULL、空字符串""、正負號、溢出及非數字字符等,並在寫代碼的時候對這些特殊的輸入定義好合理的輸出。 下面是參考代碼: #include <iostream> using name

原创 高精度整數加法

問題描述: 在計算機中,由於處理器位寬限制,只能處理有限精度的十進制整數加減法,比如在32位寬處理器計算機中, 參與運算的操作數和結果必須在-231~231-1之間。如果需要進行更大範圍的十進制整數加法,需要使用特殊 的方式實現,比如使用

原创 順時針打印矩陣

題目:輸入一個矩陣,rows行,columns列,按順時針方向從外向裏一次打印每一個數字。 分析:首先整體分析循環:第一個環的起點是(0,0),第二個環的起點是(1,1)……,依次得出每個環的起點都是行號和列號相等的點,表示爲(start

原创 兩個棧實現一個隊列

#include <iostream> #include <stack> using namespace std; template <typename T> class Queue { public:  Queue() {};  ~Qu