程式設計珠璣第四章

2021-05-28 14:23:22 字數 708 閱讀 3921

正文裡面涉及到程式設計方法學的內容。不再細述

1、加及條件是0<=l   u<=n-1

2、這個函式可以寫成如下形式:

int bs(int *a, int begin, int end, int v)

if ((e-a) < end && (*e == v)) return e-a;

return -1;

}

再給一段測試**

#include #include int cmp(const void *a, const void *b)  

int bs(int *a, int begin, int end, int v)

if ((e-a) < end && (*e == v)) return e-a;

return -1;

}int find(int *a, int begin, int end, int v)

int main(void)

return 0;

}

3、4、5、略過

6、涉及程式終止性證明,即每一步都至少會仍出乙個豆子,所以總會結束的。不會無限迴圈。此外,白色的豆子要麼拿兩個,要麼不扔,所以白色的豆子如果是奇數,則會留下乙個來。

7、題目裡面如果要採用二分搜尋,那麼需要找的是乙個數的剛好下界。可以採用本部落格中對二分查詢的補充方法。

第四章 程式設計

選擇語言的原則 最少的工作量原則 最少技巧性原則 最少錯誤原則 最少維護原則 減少記憶原則 總原則 先求正確後求快 先求清晰後求快 求快不忘保持程式正確性 保持程式整潔以求快 不要因效率而犧牲清晰 好程式標準 易於測試和除錯 易於維護 易於修改 設計簡單 高效率結構化程式設計主要包括兩方面 在編寫程...

程式設計珠璣 第四章 編寫正確的程式

1 對下標限定界限 加條件 0 l u n 1 2 這個函式可以寫成如下形式 include using namespace std int bs int a,int begin,int end,int v if e a end e v return e a return 1 int main co...

程式設計珠璣 第四章 編寫正確的程式

1 對下標限定界限 加條件 0 l u n 1 2 這個函式可以寫成如下形式 include using namespace std int bs int a,int begin,int end,int v if e a end e v return e a return 1 int main co...