用数组当映射

8 分钟

如果键正好是一小段整数,连 map 都省了,直接拿数组当映射用:下标就是键,格子里存的就是值。给一个键(下标),一步就取到对应的值,比 map 还快。用学号 1 到 50 查成绩,就开一个 score[51],score[学号] 就是那个人的成绩。

#include <iostream>
using namespace std;
int score[51];    // 下标当学号(键),值是成绩
int main() {
    score[1] = 90;
    score[2] = 85;
    int no = 2;
    cout << no << " 号成绩: " << score[no] << endl; // 85
    return 0;
}

小纸条问:用学号 1 到 50 查成绩,怎么存?开一个够大的数组,让下标当学号即可。注意两点:数组要开到 51(才放得下下标 50);而且这招只在键是小范围整数时管用,键要是名字这种字符串就不行了——下一节讲怎么办。

小纸条

用学号 1 到 50 查成绩,怎么存?

登录 后可看答案

用数组当映射 · C++ 入门 · op599 课程