用数组当映射
约 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 查成绩,怎么存?
登录 后可看答案