首页 > 解决方案 > C ++合并排序检查以查看数字是否在列表中

问题描述

我有一个合并排序程序,我想通过让用户选择一个数字然后检查该数字是否在列表中以及他们是否中奖来将其变成彩票游戏。但是,我找不到任何有关如何检查列表中某个数字的有用信息,请向我解释一下我将如何做到这一点?

标签: c++mergesort

解决方案


这不是归并排序,而是冒泡排序。要以有效的方式搜索此列表,您可以在对其进行排序之后执行 binary_search,或者您可以在对其进行排序之前执行线性搜索。

线性搜索将如下所示:

bool found(int*a, const int N, const int TARGET)
{
  for(int i = 0; i < N; ++i)
  {
    if(a[i] == TARGET)
    {
      return true;
    }
  }
  return false;
}

推荐阅读