(1)已知鍊錶的頭結點head,寫乙個函式把這個鍊錶逆序 ( intel)40. 鍊錶題:乙個鍊錶的結點結構
struct
node
; typedef
struct
node node ;
node * reverselist(node *head)(2)已知兩個鍊錶head1 和head2 各自有序,請把它們合併成乙個鍊錶依然有序。(保留所有結點,即便大小相同)//鍊錶逆序
p2->next = p1 ;
head = p2 ;
return
head ;
}
node * merge(node *head1 , node *head2)(3)已知兩個鍊錶head1 和head2 各自有序,請把它們合併成乙個鍊錶依然有序,這次要求用遞迴方法進行。 (autodesk)else
node *pcurrent = head ;
while
( p1 != null && p2 != null)
else
} if( p1 != null )
pcurrent->next = p1 ;
if( p2 != null )
pcurrent->next = p2 ;
return
head ;
}
答案:
node * mergerecursive(node *head1 , node *head2)41. 分析一下這段程式的輸出 (autodesk)else
return
head ;
}
class42. 寫乙個函式找出乙個整數陣列中,第二大的數 (microsoft)b
~b()
b(inti):data(i)
//b(int) works as a converter ( int -> instance of b)
private
: int
data;
};
b play( b b)
(1) results:
intmain(
intargc,
char
* argv) constructed by parameter 5
destructed t1
(2) results:
intmain(
intargc,
char
* argv) constructed by parameter 5
destructed t2 注意順序!
destructed t1
答案:
const43. 寫乙個在乙個字串(n)中尋找乙個子串(m)第乙個位置的函式。intminnumber = -32767 ;
intfind_sec_max(
intdata ,
intcount)
else
} return
sec_max ;
}
kmp演算法效率最好,時間複雜度是o(n+m)。
44. 多重繼承的記憶體分配問題:比如有class a : public class b, public class c {}那麼a的記憶體結構大致是怎麼樣的?
這個是compiler-dependent的, 不同的實現其細節可能不同。
如果不考慮有虛函式、虛繼承的話就相當簡單;否則的話,相當複雜。
45. 如何判斷乙個單鏈表是有環的?(注意不能用標誌位,最多只能用兩個額外指標)
struct node
bool check(const node* head) {} //return false : 無環;true: 有環
一種o(n)的辦法就是(搞兩個指標,乙個每次遞增一步,乙個每次遞增兩步,如果有環的話兩者必然重合,反之亦然):
boolcheck(
const
node* head)
return
false
;
}
(4)CSS屬性常見筆試題
已設定上外邊距 1.執行上面 雖然給p元素定義了15px的上外邊距,為什麼失效了?答 浮動元素會脫離正常流,clear屬性會讓元素增加上外邊距,使其在浮動元素的下面。在上面 中,浮動元素的高是80px,所以clear屬性會給p元素增加80px的上外邊距,比定義的15px要大,因此最終的上外邊距是80...
筆試 c 筆試題
1 在派生類中通過 base 呼叫基類成員 解析 2 方法重寫使用關鍵字 override 解析 使用virtual和override關鍵字實現方法重寫 3 關於抽象類下面說法錯誤的是 選一項 a 抽象類可以包含非抽象方法 b 含有抽象方法的類一定是抽象類 c 抽象類不能被例項化 d 抽象類可以是密...
常見筆試題記錄
linux命令 1 tcpdump dump the traffic on a network,根據使用者的定義對網路上的資料報進行截獲的包分析工具。tcpdump 可以將網路中傳送的資料報的 頭 完全截獲下來提供分析。它支援針對網路層 協議 主機 網路或埠的過濾,並提供 and or not等邏輯...