程式設計珠璣第五章

2021-05-28 14:27:34 字數 677 閱讀 2050

直接來習題吧

1、第一題可以看一下林銳的高質量c/c++程式設計

2、3、4、

5、第五題很明顯不應該每次都用

for (i = 0; i < n - 1; ++i)

assert(a[i] < a[i+1]);

如何利用二分的性質來進行處理還是乙個問題。

一種辦法是:

int bs(int *a, int b, int e, int v)

return -1;

}

但是這個方法需要多次使用才能檢測出來,也就是可能在查詢某兩個數的時候不會報錯,可能在查詢別的幾個數的時候就報錯了。很多時候,這不是一種好選擇。

根據第五題的題意,可以寫如下**來減少每次檢測的量。

int bs(int *a, int b, int e, int v)

while (begin < end)

return -1;

}

加乙個static變數來記錄這個陣列是否經過檢測,來決定以後的檢測還需要進行。

當然對於多個陣列的檢測,可以利用hash來處理,因為一般來說,陣列的下標位址都是不一樣的。

7、8、9、略

程式設計珠璣 第五章 程式設計小事

一,概述 主要講解如何保證程式設計的正確性。在程式中加入斷言 assert 斷言內容 如果錯誤,則終止程式。否則正常執行 typdef 宣告自定義型別 typedef int size 宣告int 型整數的別名 size array 4 typedef struct tagnode pnode 測試...

程式設計珠璣 第五章 程式設計小事

一,概述 主要講解如何保證程式設計的正確性。在程式中加入斷言 assert 斷言內容 如果錯誤,則終止程式。否則正常執行 typdef 宣告自定義型別 typedef int size 宣告int 型整數的別名 size array 4 測試結構題大小的程式 二,習題 5 測試 斷言優化過程 如何利...

C程式設計第五章

include 10.前20項和 int main printf 12.10f sum return 0 11.小球10次 int main printf 十次高度 10.6f t經過距離 10.6f n h,s return 0 12.猴子吃桃 誰家的猴子家裡能放下一千多個桃 int main p...