CSE 331�Software Design & Implementation
Spring 2026
Section 5 – Arrays
Administrivia
More Array Notation
Other useful facts:
‘For Any’ Facts
// @requires A[i] < A[i+1] for any 0 <= i < len(A)-1
// @returns false if A[i] /= y for any 0 <= i < len(A)
// true otherwise
public boolean bsearch(int[] A, int y) { … }
Array Mutation
{{ A[j] < A[j+1] for any 0 ≤ j ≤ 9 }}
A[0] = 100;
{{ (A[j] < A[j+1] for any 1 ≤ j ≤ 9) and A[0] = 100 }}
Mutating Arrays (add/remove)
{{ P(A) }} {{ P(A ⧺ [100]) }}
A.add(100); A.add(100);
{{ P(A_0) and A = A_0 ⧺ [100] }} {{ P(A) }}
{{ P(A) }} {{ P(A[ : len(A) - 1]) }}
A.remove(A.size()-1); A.remove(A.size()-1);
{{ P(A_0) and {{ P(A) }}
A = A_0[ : len(A_0) – 1] }}