如何使用負數下標呢?
讓數組前面有東西
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刪除。