正文

选择排序+折半查找2005-09-14 18:05:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/soliddream/4742.html

分享到:

#include<iostream>using namespace std;const int size=16;void taxis(int score[],int num){          //选择排序 for(int i=0;i<num-1;i++) {  int min=i;  for(int j=i+1;j<num;j++)   if(score[j]<score[min])    min=j;  int temp=score[i];  score[i]=score[min];  score[min]=temp; }}int Res(int score[],int num,int lookup){          //折半查找 int lo=0,  mid,  hi=num-1,  ans=-1; for(;hi-lo>1;) {  mid=(hi-lo)/2+lo;  if(score[mid]==lookup)   ans=mid;  if(score[mid]>lookup)   hi=mid;  else   lo=mid; } if(ans==-1) {  if(score[hi]==lookup)   ans=hi;  if(score[lo]==lookup)   ans=lo; }  return ans;}void main(){ int score[size]; for(int i=0;i<size;i++)  cin>>score[i]; taxis(score,size); for(i=0;i<size;i++)  cout<<score[i]<<" "; cout<<endl; int lookup,  ans; cout<<"What number are you looking up? "; cin>>lookup; ans=Res(score,size,lookup); cout<<score[ans]<<endl;} //输入16个整数,排序,输出,外加查找,只是将书上的2个例子串连了一下

阅读(3339) | 评论(1)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

loading...
您需要登录后才能评论,请 登录 或者 注册