c ++:静态数组访问时间

时间:2014-04-28 08:21:20

标签: c++ arrays

我有2D静态数组,大小为256 X 256。

Array[256][256]

每个Array元素都存储两个整数值。

现在,问题在于我使用此阵列的程序必须节省时间。但我注意到Array[1][40]Array[34][67]Array[80][80]这些元素与Array[150][256]Array[140][192]相比花费的时间更少。因此,与其他索引值相比,大于100的索引值需要更多时间。

是否有任何其他数据结构可以帮助我实现对值的恒定时间访问,但也需要更少的时间来访问

代码:

for( counter1=0; counter1< sizeof(chunk1); ++counter1)
{

    IndexEntries &data=IndexTable[chunk1[counter1]][chunk1[counter1+1]];
    DoubleTableEntries &GetValue=NewDoubleTable[NextState_chunk1][data.index]; 
    NextState_chunk1= GetValue.Next_State;
    ++Bcount;
    buffer[ Bcount]=NextState_chunk1;
    ++counter1;

    //  Code lines skipped
}  

chunk1[counter1]chunk1[counter1+1]的值范围为0-255。其中chunk1[counter1]chunk1[counter1+1]是随机无符号字符数组。

0 个答案:

没有答案