title: Large data sets representation in C/C++
body: <p>What is the best way to represent the following data for subsequent parallel computations:</p>
  
  <p>A set of quadruples (approximately 20,000,000) of integers that need to be acessible by the first three elements of a quadruple as indexes?</p>
  
  <p>The computation is supposed to be done with MPI in C/C++.</p>
  
  <p><strong>UPD:</strong> I should also emphasize that I have two similar datastructures described above with the only difference that the first one is static and the second is dynamic. To be precise, the fourth element of each tuple in the second structure should be computed.</p>
  
  <p>Based on the comments I'm now inclined to employing C++'s vectors and hash them by the first three values. I guess I need to create a hashmap. How do I do it in C++?</p>