/* 1、无序线性表的顺序查找 2、有序线性表的顺序查找 3、折半查找 */ #include<stdio.h> #include<conio.h> #define N 10 int E[N]={213,111,222,77,400,300,987,1024,632,555}; void ss_sort(int e[],int n) { int i,j,k,t; for(i=0;i<n-1;i++) {//在e[i],e[i+1]...e[n-1]中选键值最小的结点e[k] for(k=i,j=i+1;j<n;j++) if(e[k]>e[j]) k=j; if(k!=i) { t=e[i]; e[i]=e[k]; e[k]=t; } } } int search1(int *k,int n,int key) { int i; for(i=0;i<n&&k[i]!=key;i++); return(i<n?i:-1); } int search2(int *k,int n,int key) { int i; for(i=0;i<n&&k[i]!=key;i++);//因为有序,第二个条件改成i<n&&key>k[i]更准确 if(i<n&&k[i]==key) return i; return -1; } int bin_search(int *k,int n,int key) { int low=0,high=n-1,mid; while(low<=high) { mid=(low+high)/2; if(key==