二分法查找数组a
// Project25.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
#include <iostream>
define size 5
using namespace std;
int main()
{
int i, j;
float t, a[size];
//从键盘上为数组赋值 for (i = 0; i < size; i++) { cout << "a[" << i << "]="; cin >> a[i]; } //对数组按从小到大顺序排序 for (i = 0; i < size - 1; i++) { for (j = i + 1; j < size; j++) { if (a[i] > a[j]) { t = a[i]; a[i] = a[j]; a[j] = t; } } } //显示排序结果 for (i = 0; i < size; i++) { cout << a[i] << " "; cout << endl; } //输入要查找的数据 int value; int found;//找到为1,否则为0 int low, high, mid; for (i = 1; i <= 3; i++) { cout << "value = "; cin >> value; //二分法查找数组a found = 0; low = 0; high = size - 1; while (low <= high) { mid = (high + low) / 2; if (a[mid] == value) { found = 1; break; } if (a[mid] < value) { low = mid + 1; } else { high = mid - 1; } } if (found) cout << "This value found at :a[" << mid << "]=" << a[mid] << endl; else cout << "The " << value << " is not found!" << endl; } return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义