The following text shows some sample calls to the C Sparse Array ADT and the result of the calls if the dense and sparse printing functions were called:
{
  SparseArray A;
  int i,row,col;

  A = NewSparseArray(4,4,0);   /* create a 4x4 array with URV 0 */

/*
    dense           sparse
   0 0 0 0        4 4
   0 0 0 0        0
   0 0 0 0        (-1,-1) -1
   0 0 0 0                      */

  for (i=0;i<4;i++) {
    Store(A,i,i,1);
  }

/*
    dense           sparse
   1 0 0 0        4 4
   0 1 0 0        0
   0 0 1 0        (0,0) 1
   0 0 0 1        (1,1) 1
                  (2,2) 1
                  (3,3) 1
                  (-1,-1) -1    */

  for (i=0;i<4;i++) {
    Store(A,i,i,(i+1)*2);
  }

/*
    dense           sparse
   2 0 0 0        4 4
   0 4 0 0        0
   0 0 6 0        (0,0) 2
   0 0 0 8        (1,1) 4
                  (2,2) 6
                  (3,3) 8
                  (-1,-1) -1    */

  SetURV(A,1);

/*
    dense           sparse
   2 1 1 1        4 4
   1 4 1 1        1
   1 1 6 1        (0,0) 2
   1 1 1 8        (1,1) 4
                  (2,2) 6
                  (3,3) 8
                  (-1,-1) -1     */

  for (row = 0; row < 4; row++) {
    col = SetCursorRowStart(A,row);
    while (col != -1) {
      Store(A,row,col,Read(A,row,col)+1);
      col = NextInRow(A);
    }
  }

/*
    dense           sparse
   3 1 1 1        4 4
   1 5 1 1        1
   1 1 7 1        (0,0) 3
   1 1 1 9        (1,1) 5
                  (2,2) 7
                  (3,3) 9
                  (-1,-1) -1     */