為什麼程式設計上一般習慣左閉右開區間而不是兩頭都封閉

2021-10-05 13:22:29 字數 471 閱讀 5357

今天給乙個學生輔導歸併排序,他問了上面這個問題.

下面是我的一點個人體會,對比一下左閉右開和左閉右閉區間的特點

1.使用左開右閉的話,則子區間的長度公式為legnth=end-start,

右閉的話長度公式為legnth=end-start+1

顯然後者的計算要複雜一些

2、已知長度l的情況下,右開的呼叫形式為f(array,start,start+l)

,右閉的呼叫形式為f(array,start,start+l-1),需要呼叫者自己記得-1,右閉增加了呼叫者的使用難度,

3、右開時,for迴圈格式為

for(i=start;i右閉時,for迴圈格式為

for(i=start;i<=end;++i),要多打乙個=號,增加了打字量

4、最關鍵的地方是右閉無法表達出序列為空的情況,也就是右閉實際上假定了序列裡至少只有乙個元素,但是這個假定很多時候是不滿足的,而右開就可以表示出空集

L14 Python為什麼要用左閉右開

表示 1,2,3,9 這樣乙個序列,有四種方法 方法一和方法二,他們邊界之間的差正好等於序列的長度。方法一和方法二,在這兩種表示方法中,如果我們觀察兩個相鄰的序列,那麼其中乙個序列的上限正好等於另乙個的下限。自然數是有最小值的 0 如果像第二種和第四種那樣,在下界採用 那麼當我們想表示乙個從0開始的...

盤盈的存貨一般應作為什麼處理

企業進行存貨清查盤點,應當編制 存貨盤存報告單 並將其作為存貨清查的原始憑證。經過存貨盤存記錄的實存數與存貨的賬面記錄核對,若賬面存貨小於實際存貨,為存貨的盤盈 反之,為存貨的盤虧。對於盤盈 盤虧的存貨要記入 待處理財產損溢 科目,查明原因進行處理。企業在財產清查中盤盈的存貨,根據 存貨盤存報告單 ...

一般人為什麼不成功? 陳安之

一般人為什麼不成功?陳安之 在研究如何成功致富之前,我們一定要了解,一般人為什麼會失敗。一般人都在研究成功者如何成功時,卻從來沒有思考過失敗者為何失敗,所以也就沒有避免失敗者所犯的錯誤。我以前每天都在研究成功者如何成功,卻從未研究失敗者如何失敗。失敗是成功之母,檢討是成功之父。我發現,如果你沒做成功...