原创 C++中list的erase()函數問題

erase的作用是,使作爲參數的迭代器失效,並返回指向該迭代器下一參數的迭代器。 1)典型錯誤 using namespace std; int main() { std::listtest_list; std::list::it

原创 刪除數組中重複的數

有三種方法: 1)利用set的性質,set中不包含重複的元素 template<typename T> unsigned int makeuniquearray1(T *array,unsigned int len) { set<T>s

原创 fork()-實例分析

1、子進程對存儲空間的複製 (1) 使用文本編輯器輸入源程序 #include <sys/types.h> #include <unistd.h> #include <stdio.h> int main(void) {

原创 哈弗曼編碼實現

例題: 假設一個文本文件TFile中只包含7個字符{A,B,C,D,E,F,G},這7個字符在文本中出現的次數爲{5,24,7,17,34,5,13} 利用哈夫曼樹可以爲文件TFile構造出符合前綴編碼要求的不等長編碼。 1. 將TFi

原创 夥伴算法

夥伴算法 1、原理       Linux的夥伴算法把所有的空閒頁面分爲11個塊組,每組中塊的大小是2的冪次方個頁面,例如,第0組中塊的大小都爲20 (1個頁面),第1組中塊的大小爲都爲21(2個頁面),第10組中塊的大小都爲210(10

原创 劍指offer——題目1385:重建二叉樹

題目描述: 輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建出該二叉樹。假設輸入的前序遍歷和中序遍歷的結果中都不含重複的數字。例如輸入前序遍歷序列{1,2,4,7,3,5,6,8}和中序遍歷序列{4,7,2,1,5,3,8,6},則重建二叉

原创 Notepad++ Java開發環境配置

1 Console Dialog作爲Java開發環境 Notepad++的插件NppExec實現Console Dialog,此插件可以完成Windows控制檯基本功能,如可以在此窗口中進行編譯、運行Java程序;Notepad++還能夠

原创 Gcc編譯選項

轉載於:http://blog.sina.com.cn/s/blog_a3052b4a0100z22q.html 編譯過程一般分爲四個階段:    預處理(也稱預編譯,Preprocessing)       gcc -E tes

原创 String類的實現

#include<iostream> using namespace std; class String { public: String(const char *str=NULL); String(const String &oth

原创 inux中查看系統資源佔用情況的命令

轉自:http://blog.sina.com.cn/s/blog_76af01490100xgrr.html top:  主要參數 d:指定更新的間隔,以秒計算。 q:沒有任何延遲的更新。如果使用者有超級用戶,則top命令將會以最高的優

原创 判斷一個單鏈表是否有環及環的鏈接點

轉自:http://blog.sina.com.cn/s/blog_725dd1010100tqwp.html 給定一個單鏈表,只給出頭指針h: 1、如何判斷是否存在環? 2、如何知道環的長度? 3、如何找出環的連接點在哪裏?

原创 字典樹

又稱單詞查找樹,Trie樹,是一種樹形結構,是一種哈希樹的變種。典型應用是用於統計,排序和保存大量的字符串(但不僅限於字符串),所以經常被搜索引擎系統用於文本詞頻統計。它的優點是:利用字符串的公共前綴來節約存儲空間,最大限度地減少無謂的

原创 在某年的某一個時刻加1秒

#include <stdio.h> struct TIME { int year; int month; int day; int shi; int fen; int miao; }; int main() { s

原创 用字符串來實現加1操作

#include <stdio.h> #include<string.h> int Increment(char *number); void printnumber(char *number); void print(int n) {

原创 gdb調試

step1:在編譯時把調試信息加到可執行文件中,使用編譯器(cc/gcc/g++)的-g參數可以做到這一點。 cc -g hello.c -o hello gcc -g hello.c -o hellostep2:啓動gdb調試命令 1)