1. 程式人生 > >java順序結構(下標操作插入刪除查詢時的邊界問題)

java順序結構(下標操作插入刪除查詢時的邊界問題)

1、順序表插入時的邊界

if (index < 0 || index > size)

應該為index > size。不能是index > size - 1。原因有2:

  • 當順序表中無元素時,index與size都為0,若此時index > size - 1,則0  > 0 - 1,進入異常,不能正常插入第一個元素
  • 假如當順序表中有2個元素時,此時size為2,當插入第3個元素時,即index為2時,若index > size - 1,則 2 > 2-1,進入迴圈,不能正常向後插入,因此,正確的下標應該為index > size。

2、順序表刪除時的邊界

if (index < 0 || index > size - 1) 

3、用下標獲取元素時的邊界

if (index < 0 || index >= size)
或
if (index < 0 || index > size - 1)

因為

if (index < 0 || index >= size)

if (index < 0 || index > size - 1)

相同,加入size 為6,則第一個式子中的index取值為0、1、2、3、4、5

                                      第二個式子中的index取值為0、1、2、3、4、5