performance wise(c (,使用小数位之前的数字访问数组以引用第一行,以及小数点之后的数字是更快的(和或可以接受的(引用列?
例如:
map<float,int> myarray;
myarray[1.0001]=4;
myarray[1.0002]=5;
myarray[1.0003]=2;
myarray[2.0001]=7;
myarray[2.0002]=6;
myarray[2.0003]=3;
vs。:
int myarray[100][1000];
myarray[1][1]=4;
myarray[1][2]=5;
myarray[1][3]=2;
myarray[2][1]=7;
myarray[2][2]=6;
myarray[2][3]=3;
首先,您的方法无法使用,除了可以完全表示为float
s的特定十进制数字的子集。例如,1.0001
实际上表示为1.00010001659393310546875
,因此,如果您计算索引,则可能会获得不匹配的表示形式。访问map
。
就性能而言,您的 map
将为o(log