上次在csdn論壇上看見有個關於微創的面試題,粗略看了一下,資料結構已經丟了二年多了,現在突然看到這樣的題目,突然有種懷舊的感覺。
於是有點手癢,決定做做,原以為這2道題最多半小時之內就可以搞定,結果竟然花了乙個半小時,而且還除錯了半天才行!不知道是不是老了,唉!
1)實現string tohex(int)把乙個十進位制轉換成十六進製制。(完全用演算法實現)
2)實現乙個計算大位數(如100位以上)相乘結果的函式string multiply(sting,string)。(請完全用演算法實現)
(1)string int2hex(int a_iint)
int i;
int itmp;
int iresidue; // the residue
int iquotient; // the quotient
char ctmp;
for(itmp = a_iint;itmp >= 16;)
else // 0 <= iresidue <= 9
strret = ctmp + strret;
itmp = iquotient;
}if(iresidue >= 10)
else // 0 <= iresidue <= 9
strret = ctmp + strret;
return strret;
}(2)
string multiply(string a_strmultp1,string a_strmultp2)
int i;
int j;
int icarry; // the carry;
int idigit; // the digit;
char ctmp;
icarry = 0;
idigit = 0;
for(i = 0 ; i < imultp2len ; i ++)
if(icarry >= 1)
if(i < imultp2len - 1)
}
return strret;
}// the function is called by the funtion above
void intadd(string &a_strsor,char a_cadd,int a_iindex)
dowhile(ccarry != 0 && istrindex >= 0);
// the highest digit is not less than 1
if(istrindex <= 0 && ccarry > 0)
}
微創的2道資料結構題
上次在csdn論壇上看見有個關於微創的面試題,粗略看了一下,資料結構已經丟了二年多了,現在突然看到這樣的題目,突然有種懷舊的感覺。於是有點手癢,決定做做,原以為這2道題最多半小時之內就可以搞定,結果竟然花了乙個半小時,而且還除錯了半天才行!不知道是不是老了,唉!1 實現string tohex in...
微軟的22道資料結構演算法題(含答案)
微軟的22 道資料結構演算法題 含答案 1 反轉乙個鍊錶。迴圈演算法。1 list reverse list l 13 return tmp 14 2 反轉乙個鍊錶。遞迴演算法。1 list resverse list l 8 return n 9 3 廣度優先遍歷二叉樹。1 void bst tr...
微軟的22道資料結構演算法題(含答案)
微軟的22 道資料結構演算法題 含答案 1 反轉乙個鍊錶。迴圈演算法。1 list reverse list l 13 return tmp 14 2 反轉乙個鍊錶。遞迴演算法。1 list resverse list l 8 return n 9 3 廣度優先遍歷二叉樹。1 void bst tr...