public void remove ( int p ) { npoints -- ; int q = index [ p ] ; index [ points [ q ] = points [ npoints ] ] = q ; for ( int i = 0 ; i < npoints ; i ++ ) { if ( neighbor [ points [ i ] ] == p ) { findNeighbor ( points [ i ] ) ; } } }
Remove a point and update neighbors of points for which it had been nearest