整数到char实现

时间:2018-05-22 01:03:03

标签: c++ data-structures

我试图实现一个用户输入number / int的程序,程序会输出匹配的char。我曾想过使用向量来存储数据。我想知道是否有更快或更好的方法来实现它? 存储在具有更多数字的文本文件中的数据是justexample。

{2300, V }
{2400, W }
{2500, X }
{2600, Y }
{2700, Z }
{2800, [ }
{2900, \ }

SAmple run:
input: 2300
output: V

1 个答案:

答案 0 :(得分:1)

你可以使用std::map(内部是一个自我平衡的二进制搜索树),这将为检索元素提供log(N)时间复杂度,或者std::unordered_map(内部为哈希表)将给出检索元素的时间复杂度。

以下示例位于std::map,但您可以轻松将其更改为std::unordered_map

int main() {
  map<int, char> m;
  m[2300] = 'V';
  m[2400] = 'W';
  .... //Populate, store the elements in the map

  int input;
  cin >> input; //input should be a value in the map otherwise you may get a empty char
  cout << m[input] << endl;
  return 0;
}