1. 盡量用顯而易見的變數去訪問陣列,並在旁邊標出訪問陣列的範圍。否則很容易搞混!
如:在歸併排序中,需要對陣列進行合併時,需要對同一陣列的不同段進行合併。最好用兩個變數來表示各自段的對應位置。
void merge(int * array, int start, int middle, int end)
2. 關於num--/num-=1/--num
對於num--的示例:
void main()
輸出為:87 ... 2 1
即,用num--時,該num是自減之前的值。同樣,自加「++」也是適用的
對於 num-=1 的示例:
void main()
輸出為:
7 6 ... 2 1
即,用num-=1時,由於num是新的被賦的值,所以是從「-1」之後的值開始的。
對於--num的示例:
#include void main()
輸出為:4
即--num時,
先把num自減,然後才輸出
同樣的適用於:num++/num+=1/++num
3. 用臨時變數代替某個變數,然後用於排序/查詢合適的位置時,一定要對下標進行好判斷;而且在最後給該變數找到合適的位置之後,需要在對應位置把temp填進去。很容易出錯!
下面示例為堆中的下篩操作。其中,變數i表示要下篩的值,num為堆中的元素個數
//a[0]...a[num-1]
void siftdown(int array, int i, int num)
//array[child]=temp;
array[i]=temp;
}
Masonry需要注意的幾個點
masonry不常用到的方法 關於mas key masonry中用來標記view的key值 a key to associate with this view 通過runtime在view中新增的屬性。在沒有定義mas key時,發生約束衝突,後台報的錯誤資訊 當定義mas key後,發生約束衝突...
HTML需要注意的幾個標籤
1.placeholder,作為提示資訊 input type text name 文字 placeholder 請輸入文字 2.required 不能為空 input type email name 郵件 placeholder 請輸入郵件 required 3.patten 正規表示式,可以搜尋...
需要注意的開發規範和習慣
這兩個都需要列印出來,經常提醒自己類變數 以下劃線開始 區域性變數 在使用前申明。類名 只做一件事 根據職責劃分 介面 以i開頭,或者形容詞結尾,如runnable 異常處理 使用 throw,異常 if 條件 如果忽略了增加注釋為什麼 演算法 某種策略的的條件和權衡 父類 protected 描述...