简单查找、折半查找、冒泡排序法C语言

/*折半查找法*/
#include
void main()
{
int a[10]={8,18,27,42,47,50,56,68,95,120};
int b=8; //要查找的数
int min=0;int max=9;int mid=(min+max)/2;
while(b!=a[mid])
{
if(b>a[mid])
{min=mid;mid=(min+max)/2;}
else if(b{max=mid;mid=(min+max)/2;}

if(mid==min)
break;
}
if(b==a[mid])
{printf("a[%d]=%d\n",mid,a[mid]);}
else if(b==a[max])
{printf("a[%d]=%d\n",max,a[max]);}
else
printf("没有此数\n");
}


/*简单排序法*/
#include
#define N 6
void swap(int *a,int *b);
void main()
{int a[6]={15,14,22,30,37,11};
int min;
for(int i=0;i{min=i;
for(int j=i+1;j{if(a[i]min=j;
}
swap(a+i,a+min);
}
for(i=0;iprintf("%d ",a[i]);
}
void swap(int *a, int *b)
{
int t;
t = *a;
*a = *b;
*b = t;
}


/*冒泡排序法C语言*/
#include
#define N 10 //排序个数
void main()
{int a[N];
for(int i=0;iscanf("%d",&a[i]);
for(i=0;ifor(int j=0;jif(a[j]>a[j+1]) //大于则交换
{int T=a[j+1];a[j+1]=a[j];a[j]=T;}
for(i=0;iprintf("%d ",a[i]);

}


相关文档
最新文档