c++ - C ++合并排序检查以查看数字是否在列表中
问题描述
我有一个合并排序程序,我想通过让用户选择一个数字然后检查该数字是否在列表中以及他们是否中奖来将其变成彩票游戏。但是,我找不到任何有关如何检查列表中某个数字的有用信息,请向我解释一下我将如何做到这一点?
解决方案
这不是归并排序,而是冒泡排序。要以有效的方式搜索此列表,您可以在对其进行排序之后执行 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;
}
推荐阅读
- opencv - 将点从地图 A 转换为地图 B
- javascript - 如果数据很小,有没有办法缩放 c3.js 图?
- r - 在 R 中对多个编号的表进行操作
- python - 避免 OSError:[Errno 22] 读取()大文件时参数无效
- django - 创建并保存对象 IntegrityError django
- javascript - Javascript 仅在 MS Edge 上导致多个语法错误
- bash - Bash 波浪号在某些参数中没有扩展,例如 --home_dir=~
- c# - Sprache 中的递归表达式解析
- sql - 在 Case When Function 中具有非布尔结果
- c# - c# Winform Controls with VSTO addin 保持 Excel 响应