• 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 为方便开心洋葱网用户,开心洋葱官网已经开启复制功能!
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!
  • 由于近期流量激增,小站的ECS没能经的起亲们的访问,本站依然没有盈利,如果各位看如果觉着文字不错,还请看官给小站打个赏~~~~~~~~~~~~~!

C++ 线性搜索算法示范

OC/C/C++ 水墨上仙 1725次浏览

C++ 线性搜索算法演示,线性搜索效率要低于二分查找算法

//Linear search 
//Programming by : Erfan Nasoori
//Mail : ketn68@yahoo.com
//Date of send : 2009/2/1 
 
#include<iostream>
#include<conio>
int linearsearch(int[],int,int);
void BubbleSort(int[],int);
void main()
{
 int *a,i,k;
 int n = 100;
 a = new int[n];
 int index,j,temp;
 cout<<"Enter number (if you enter 0 , entering will be ended :\n";
 cin>>temp;
 for(index=0 ; temp != 0 ; index++)
 {
    a[index] = temp;
    cin>>temp;
 }
 BubbleSort(a,index);
 cout<<"\nTHE SORTED ARRAY IS:\n";
 for(i=0 ; i<index ; ++i)
    cout<<a[i]<<endl;
 cout<<"\nEnter the key word:";
 cin>>k;
 int key = linearsearch(a,index,k);
 if(key != -1)    //  statement of delete found number 
    for(j=key ; j<index ; ++j)
       a[j] = a[j+1];
 for(i=0 ; i<index-1 ; ++i)
    cout<<a[i]<<endl;;
 getch();
}
///////////////////////////////////////////////////////////////////////////////
void BubbleSort(int a[100],int y)
{
 int i,j,hold;
 for(i=1;i<=y-1;++i)
  for(j=0;j<y-i;++j)
   if(a[j]>a[j+1])
   {
     hold=a[j];
     a[j]=a[j+1];
     a[j+1]=hold;
   }
}
////////////////////////////////////////////////////////////////////////////////
int linearsearch(int a[],int m,int k)
{
 for(int i=0 ; i<m ; ++i)
  if(a[i]==k)
     return i;
  return -1;
}


开心洋葱 , 版权所有丨如未注明 , 均为原创丨未经授权请勿修改 , 转载请注明C++ 线性搜索算法示范
喜欢 (0)
加载中……