public void addItem(int row , int col , double value ) {
        if( nz_length == nz_value.data.length ) {
            int amount = nz_length + 10;
            nz_value.growInternal(amount);
            nz_rowcol.growInternal(amount*2);
        }
        nz_value.data[nz_length] = value;
        nz_rowcol.data[nz_length*2] = row;
        nz_rowcol.data[nz_length*2+1] = col;
        nz_length += 1;
    }
public void addItem ( int row , int col , double value ) { if ( nz_length == nz_value . data . length ) { int amount = nz_length + 10 ; nz_value . growInternal ( amount ) ; nz_rowcol . growInternal ( amount * 2 ) ; } nz_value . data [ nz_length ] = value ; nz_rowcol . data [ nz_length * 2 ] = row ; nz_rowcol . data [ nz_length * 2 + 1 ] = col ; nz_length += 1 ; }
<p>Adds a triplet of (row,vol,value) to the end of the list. This is the preferred way to add elements
into this array type as it has a runtime complexity of O(1).</p>

One potential problem with using this function instead of {@link #set(int, int, double)} is that it does
not check to see if a (row,col) has already been assigned a value. If a (row,col) is defined multiple times
how this is handled is not defined.

@param row Row the element belongs in
@param col Column the element belongs in
@param value The value of the element