代碼閱讀的必要性閱讀別人的代碼作為開發人員是一件經常要做的事情。一個是學習新的程式設計語言的時候通過閱讀別人的代碼是一個最好的學習方法,另外是積累編程經驗。如果你有機會閱讀一些作業系統的代碼會協助你理解一些基本的原理。還有就是在你作為一個品質保證人員或一個小領導的時候如果你要做白盒測試的時候沒有閱讀代碼的能力是不能完成相應的任務。最後一個就是如果你中途接手一個項目的時候或給一個項目做售後服務的時候是要有閱讀代碼的能力的。收集所有可能收集的材料閱讀代碼要做的第一件事情是收集所有和項目相關的資料。比
文章目錄 CloudCoordinator.java: org.cloudbus.cloudsimCloudCoordinator.java:/* * Title: CloudSim Toolkit * Description: CloudSim (Cloud Simulation) Toolkit for Modeling and Simulation of Clouds * Licence: GPL -
下面是自己做的一些面試題解答,均運行通過,但是時間效率不一定最佳。 為了以後方便自己先寫了個計時類和一個列印數組的函數//使用方法: CLOCK{ //計時代碼 }class Clock{public:Clock(){startTime = GetTickCount();isValid = true;cout << "-------------記時開始--------------------" << endl;}operator bool(){return
/************************************************************************//* 8、請編寫能直接實現 int atoi(const char * pstr)函數功能的代碼 *//************************************************************************///考慮全域變數返回結果是否有效,和大數問題bool isToIntValid =
/************************************************************************//* 2、檢查一個字元是否是整數或者4行代碼從一個字串到長整形函數 *//************************************************************************///用於表示轉換是否有效bool is_charToIntValid = false;int
/************************************************************************//* 9、編程實現兩個正整數的除法 *//************************************************************************/// abs(x)/abs(y) = h, 則 (h+1)* abs(y) &
/************************************************************************/ /* 3 、給出一個函數輸出字串的所有排列 */ /************************************************************************/ template <typename
/************************************************************************//* 10、在排序數組中,找出給定數字出現的次數
/************************************************************************//*
/************************************************************************//*11、平面上N個點,每兩個點都確定一條直線 *//************************************************************************/class Point{public:Point(double valx = 0.0, double valy = 0.0):x(valx),
//一道微軟筆試題/************************************************************************//* 4個袋子,15個球,每個袋子至少放一個球,而且袋子中的球數量不能重複,有多少種方式 答:轉化為問題 x1 + x2 + x3 + x4 = 15, x1, x2, x3, x4 >= 1, x4> x3 > x2 > x1.(x1, x2, x3, x4) 一共有多少解。設x2 = x1 + y1
//利用該進的KMP演算法實現複製A和B,A的後幾個和B的前幾個位元組重疊 //KMP演算法 //求next數組 void nextCal(const char* str, int * next) { int length =strlen(str); int j = 0, k = -1; next[0]= k; while(j < length - 1) { if(k == -1 || str[j] == str[k]) { ++k; ++j; next[j] = k; /*
/************************************************************************//* 13、設計一個演算法,找出二叉樹上任意兩個結點的最近共同父結點。複雜度如果是O(n2)則不得分。 *//******************************************************************
/************************************************************************/ /* 5、怎樣編寫一個程式,把一個有序整數數組放到二叉樹中 */ /************************************************************************/ //不太明白,二叉樹有沒有建好
/************************************************************************//*14、一棵排序二叉樹,令 f=(最大值+最小值)/2,設計一個演算法,找出距離f值最近、大於f值的結點。複雜度如果是O(n2)則不得分 *//**********************************
/************************************************************************//* 1、有一個整數數組,求出兩兩隻差絕對值最小 *//************************************************************************///先排序後求值,快速排序O(nlogn),桶排序O(n),但空間也是O(n)int iCompare(
/************************************************************************//* 15、一個整數數列,元素取值可能是1~N(N是一個較大的正整數)中的任意一個數,相同數值不會重複出現。設計一個演算法,找出數列中合格數對的個數,滿足數對中兩數的和等於N+1。複雜度最好是O(n),如果是O(n2)則不得分 *//********************************
/************************************************************************//* 6、怎樣從頂部開始逐層列印二叉樹
/************************************************************************//* * 16、正整數序列Q中的每個元素都至少能被正整數a和b中的一個整除,現給定a和b,需要計算出Q中的前幾項,例如,當a=3,b=5,N=6時,序列為3,5,6,9,10,12(1)、設計一個函數void generate(int a,int b,int N ,int * Q)計算Q的前幾項(2)、設計測試資料來驗證函式程式在各種輸入下的正確性。
/************************************************************************//* 7、怎樣把一個鏈表掉個順序 *//************************************************************************/class LinkNode{public: