go 語言聖經第六章習題

2022-07-08 15:24:26 字數 1013 閱讀 3393

github內有**和筆記

第六章筆記

練習6.1:為bit陣列實現下面這些方法

func (*intset) len() int      // return the number of elements

func (*intset) remove(x int) // remove x from the set

func (*intset) clear() // remove all elements from the set

func (*intset) copy() *intset // return a copy of the set

練習 6.2:定義乙個變參方法(intset).addall(...int),這個方法可以新增一組intset,比如s.addall(1,2,3)。

練習 6.3:(intset).unionwith會用|操作符計算兩個集合的並集,我們再為intset實現另外的幾個函式intersectwith(交集:元素在a集合b集合均出現),differencewith(差集:元素出現在a集合,未出現在b集合),symmetricdifference(並差集:元素出現在a但沒有出現在b,或者出現在b沒有出現在a)。

**練習6.4: ** 實現乙個elems方法,返回集合中的所有元素,用於做一些range之類的遍歷操作。

練習 6.5:我們這章定義的intset裡的每個字都是用的uint64型別,但是64位的數值可能在32位的平台上不高效。修改程式,使其使用uint型別,這種型別對於32位平台來說更合適。當然了,這裡我們可以不用簡單粗暴地除64,可以定義乙個常量來決定是用32還是64,這裡你可能會用到平台的自動判斷的乙個智慧型表示式:32 << (^uint(0) >> 63)

//這題就是增加乙個常量

這幾題算是常規題,簡單版的布隆過濾器。

**過長,見github

第六章習題

r1.個無線網路執行在 基礎設施模式 下是什麼含義?如果某網路沒有執行在基礎設施模式下,那麼它執行在什麼模式下?這種執行模式與基礎設施模式之間有什麼不同?在基礎結構操作模式下,每個無線主機都通過基站連線到較大的網路。如果未在基礎架構模式下執行,則網路將在臨時模式下執行。在自組織模式下,無基站,節點僅...

C Primer第六章習題

6.4 編寫乙個與使用者互動的函式,要求使用者輸入乙個數字,計算生成該數字的階乘。在main函式中呼叫該函式。include using namespace std int factorial int num int main 6.5 編寫乙個函式輸出其實參的絕對值。include using na...

第六章課後習題

1.this和super各有幾種用法?1.子類的建構函式如果要引用super的話,必須把super放在函式的首位。2.子類中的同名成員變數或方法隱藏了父類的成員變數或方法,需要用到super。3.用super直接傳遞引數。2.子類物件例項化的具體過程是什麼?1.子類在構造物件時候,必須訪問父類的建構...