Just use a 2D array, but have the "rows" and "columns" at a 60 or 120 degree angle to each other.
My quick ASCII illustration:
0 1 2 3 4 5 6
1 2 3 4 5 6
1 2 3 4 5 6 7
2 3 4 5 6 7
2 3 4 5 6 7 8
3 4 5 6 7 8
3 4 5 6 7 8 9
(the numbers are row numbers, the column numbers are obvious...)
Effectively, you want to "stripe" the rows across the columns.