⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 c二分查找.cpp

📁 数据结构的C++表述
💻 CPP
字号:
#include <iostream.h>
#define MaxSize 100
struct seqlist
{
	int a[MaxSize];
	int length;
};
void Create(seqlist &t)
{
	int x,i;
	i=0;
	cout<<"建立有序线性表,输入数据,以-1结束:"<<endl;
	cin>>x;
	while(x!=-1)
	{
		t.a[++i]=x;
		cin>>x;
	}
	t.length=i;
}
int Binary_Search(seqlist t,int x)
{
	int low,high,mid,flag=0;
	low=1;
	high=t.length;
	while(low<=high)
	{
		mid=(low+high)/2;
		if(x<t.a[mid])
			high=mid-1;
		else if(x>t.a[mid])
			low=mid+1;
		else
		{
			flag=mid;
			break;
		}
	}
	return flag;
}
void Print(seqlist t)
{
	for(int i=1;i<=t.length;i++)
		cout<<t.a[i]<<" ";
	cout<<endl;
}
void main()
{
	seqlist t;
	int x,i;
	char n='Y';
	Create(t);
	Print(t);
	while(n=='Y'||n=='y')
	{
		cout<<"输入要查找的数据:";
		cin>>x;
		i=Binary_Search(t,x);
		if(i==0)
			cout<<"线性表中没有要查找的数据!"<<endl<<endl;
		else
			cout<<"查找成功!数据所在的位置为:"<<i<<endl<<endl;
		cout<<"是否继续查找(Y/N):";
		cin>>n;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -