栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

顺序查找和二分查找

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

顺序查找和二分查找

顺序查找。(待完善如果有相同的数值???该怎么查找)

#include 
using namespace std;
int f1(int A[], int n, int find)
{
	int i = 0;
	for (i = 0; i <= 9; i++) 
		if (A[i] == find) return i;
	return -1;
}
int main()
{
	int a[10];
	int i;
	for (i = 0; i <= 9; i++)cin >> a[i];
	int find;
	cin >> find;
	if (f1(a, 10, find) >= 0) cout << "找的的数为a[" << f1(a, 10, find) << "]" << endl;
	else cout << "未找到" << endl;
	return 0;

}

二分查找

#include 
using namespace std;
int f1(int A[], int n, int find)
{
	int a, b, m;
	a = 0;
	b = n - 1;
	while (a <= b)
	{
		m = a + (b - a) / 2;
		if (A[m] > find)b = m - 1;
		else if (A[m] < find)a = m + 1;
		else return m;
	}
	return -1;
}
int main()
{
	int a[10];
	int i;
	cout << "从小到大输入一组数" << endl;
	for (i = 0; i <= 9; i++)cin >> a[i];
	int find;
	cout << "输入要找的值" << endl;
	cin >> find;
	int x = f1(a, 10, find);
	if (x >= 0)cout << "要找的值的为a[" << x << "]" << endl;
	else cout << "不存在要找的数" << endl;
	return 0;

}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/330663.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号