顺序查找计时函数C语言,用C语言编二分查找
滿意答案
bryly
2013.12.27
采納率:47%????等級:12
已幫助:12122人
#include
#include
#include
void xuanzhe(int a[], int n)
{
int i, j, min, t;
for (i=0; i
{
min = i; /*假設(shè)當(dāng)前下標(biāo)為i的數(shù)最小,比較后再調(diào)整*/
for (j=i+1; j
{
if (a[j] < a[min])
{
min = j; /*如果后面的數(shù)比前面的小,則記下它的下標(biāo)*/
}
}
if (min != i) /*如果min在循環(huán)中改變了,就需要交換數(shù)據(jù)*/
{
t = a[i];
a[i] = a[min];
a[min] = t;
}
}
}
int main(){
int i,n,x;
int mid,left=0,right=999;
int find1=0,find2=0;
double y;
int a[1000];
for(i=0;i<1000;++i){
a[i]=rand();
}
xuanzhe(a,1000);
scanf("%d",&x);
printf("順序查找:\n");
for(i=0;i<1000;++i){
while(x==a[i]){
printf("找到X=%d,a[%d]\n",x,i);
find1=1;
break;
}
}
if(find1==0){
printf("沒有你要找的數(shù)\n");
}
printf("%fs\n",clock()/CLOCKS_PER_SEC);
y=clock();
printf("二分查找:\n");
while(!find2&&left
{
mid=(left+right)/2;
if(x==a[mid])
find2=1;
else if(x
right=mid-1;
else left=mid+1;
}
if(find2==1)
printf("找到x=%d ,a[%d]\n",x,mid);
else
printf("沒有你要找的數(shù)\n");
printf("%fs\n",(clock()-y)/CLOCKS_PER_SEC);
}
00分享舉報
總結(jié)
以上是生活随笔為你收集整理的顺序查找计时函数C语言,用C语言编二分查找的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用c语言编写图书成绩管理系统,学生成绩管
- 下一篇: c语言 文件 long double 读