如何使用负数下标呢?
让数组前面有东西
int y[100];
int *z = y + 50;
这样的话调用\(z[-50]\)就变成了调用\(y[0]\)
z[-50] = y[0];
然后这样就可以实现调用啦~
其实还有一个更暴力的方法:用\(map\)
\(map\)是\(\log n\)的\(map\)
\(unordered\_map\)是\(O(1)\)的\(map\)(到\(c++11\)才会有)
如何使用负数下标呢?
让数组前面有东西
int y[100];
int *z = y + 50;
这样的话调用\(z[-50]\)就变成了调用\(y[0]\)
z[-50] = y[0];
然后这样就可以实现调用啦~
其实还有一个更暴力的方法:用\(map\)
\(map\)是\(\log n\)的\(map\)
\(unordered\_map\)是\(O(1)\)的\(map\)(到\(c++11\)才会有)
本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。