Two Dimensional Arrays
      The data type array2 can be used to store a number of objects of 
      an arbitrary type T. The objects can be accessed uniquely by two indices 
      from two integer intervals I and J. 
      This data type is closely related to One Dimensional 
        Arrays.  
       Example
      The following program shows how to use Two Dimensional Arrays. It generates 
      an array A of 10 times 20 ints with indices from 1 to 10 and 
      31 to 50. Then it assigns value i+j to A(i,j). 
      Finally, it shows how elements can be accessed by their indices. 
      
#include <LEDA/core/array2.h>
	
int main()
{
  leda::array2<int> A(1,20,31,50);
  int i;
  for (i=1; i<=10; i++) {
    int j;
    for (j=31;j<=50; j++) {
      A(i,j)=i+j;
    }
  }
  std::cout << A(3,43) << " " << A(10,31) << std::endl;
  
  return 0;
}
       Strengths
      
        -  access and insertion of objects by indices in constant time
 
        -  induced order on objects
 
        -  index sets can be arbitrary intervals of integers (do not have to 
          start at 0)
 
        -  array bounds are checked
 
       
       Disadvantages
      
        -  waste of space if array is bigger than the currentl number of objects 
          (alternatives: Linear Lists, Sets)
 
        -  searching for an element is slow (proportional to the size of the 
          array) (alternative: Sets)
 
        -  no simple iteration over the current elements (alternatives: Linear 
          Lists, Sets)
 
        -  initialization is necessary
 
       
      Tips
      
        - Use Two Dimensional Arrays if you know the number of elements to store 
          (at least approximately) beforehand and you need to access the elements 
          efficiently by two integer indices. 
 
        - Otherwise consider using one of the combinations list of lists, set 
          of sets, list of sets, set of lists, of Linear 
          Lists or Sets. 
 
        - For matrix operations consider using Double 
          Valued Matrices, Matrices 
          with Integer Entries. 
 
       
     | 
     
      See also:
      One Dimensional Arrays 
      Linear Lists 
      Sets 
      Double Valued Matrices 
      Matrices with Integer Entries 
      Two-Dimensional Node Array 
       
      Manual Entries: 
      Manual 
        Page Two Dimensional Arrays  
      User 
        Defined Parameter Types  
 |