羈实验三查找算法肈实验目的:掌握顺序查找、折半查找算法及实现。螄实验要求:羃(1)给出程序设计的基本思想、原理和算法描述。蚈(2)源程序给出注释。袅(3)保存和打印出程序的运行结果,并结合程序进行分析。袃实验内容:;:羇(1)创建一个待查找的数组:8,22,33,45,99;芅(2)调用顺序查找函数在上述数组中查找元素45所在的位置,并将结果输出;螂(3)调用顺序查找函数在上述数组中查找元素99所在的位置,并将结果输出。腿羈#include<>莄#defineMAXLEN10芁衿structtable螅{intkey;螆intothererm;蚁}蚀;袇typedefstructtableTABLE;袄TABLEA[MAXLEN];莄莀intseqsearch(TABLEA[],intk);袈intbinsearch(TABLEA[],intk);羃螃膀intseqsearch(TABLEA[],intk)蚆{莅inti;膃i=0;袁A[MAXLEN-1].key=k;螇while(A[i].key!=k)蒃i++;蚂if(i<MAXLEN-1)蚁returni;螈else袆return-1;肂}莂薆intbinsearch(TABLEA[],intk)羄{蒁intlow,mid,high;袈low=0;蚇high=MAXLEN-1;肃while(low<=high)袀{薈mid=(low+high)/2;蝿if(k==A[mid].key)蒅returnmid;薄elseif(k>A[mid].key)荿low=mid+1;薆else薃high=mid-1;肃}聿return-1;薇}羆蒂main()蝿{intx,s;虿TABLEA[MAXLEN-1]={{8},{22},{33},{45},{99}};肄袂 printf("thenumberyouaresearchusetheseqsearch:");薀 scanf("%d",&x);蒆s=seqsearch(A,x);莆 if(s==-1)芁 printf("Thenumberisnotinthistable!\n");芀else蒇 printf("Thelocationofthenumberis%d\n",s+1);薅螁 printf("thenumberyouaresearchusethebinsearch:");肁 scanf("%d",&x);蕿s=binsearch(A,x);蚃 if(s==-1)蒄 printf("Thenumberisnotinthistable!\n");螁else莆 printf("Thelocationofthenumberis%d\n",s+1);羆袃}薁
实验三 查找算法 来自淘豆网m.daumloan.com转载请标明出处.