main.cpp

来自「数据结构试验 实验一 线性表的顺序表示与实现 实验二 线性表的链式表示与实现」· C++ 代码 · 共 81 行

CPP
81
字号
#include<iostream.h>
#define size 5
void Search_Bin(int b[],int key);//折半查找
void Search_Seq(int a[],int value);//顺序查找
main()
{
    int i,j,key;
    int 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;
        cout<<"请输入查找的关键字:\n"<<"key=";
        cin>>key;
		cout<<"顺序查找:\n";
		Search_Seq(a,key);
		cout<<"折半查找:\n";
		Search_Bin(a,key);
	
}
void Search_Seq(int a[],int value)
{
	int found=0;
	int i;
	for(i=0;i<size;i++)
	{
		if(a[i]==value)
		{
			found=1;
		    break;
		}
	}
	if (found)
            cout<<"关键字找到:a["<<i<<"]="<<a[i]<<endl;
        else
            cout<<"关键字 "<<value<<" 没有找到!"<<endl;

}
void Search_Bin(int a[],int value)
{
 
    int found;
    int	low,high,mid;   
        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<<"关键字找到:a["<<mid<<"]="<<a[mid]<<endl;
        else
            cout<<"关键字 "<<value<<" 没有找到!"<<endl;
    }

⌨️ 快捷键说明

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