void swap(int *a,int *b)
{
int temp=*b;
*b=*a;
*a=temp;
}
void bubble(int *a,int len)//升序
{
int i,j;
for(i=0;i<n;i++)
{
for(j=n-1;j>i;j--)
{
if(a[j]>a[j-1])swap(a+j,a+j-1);
}
}
}
void select(int *a,int len)//升序
{
int i,j,index;
for(i=0;i<len-1;i++)
{
index=i;
for(j=i+1;j<len;j++)
{
if(a[j]>a[index])index=j;
}
swap(a+i;a+index);
}
}
void insert(int *a,int len)//升序
{
int i,j;
for(i=0;i<len;i++)
{
for(j=i+1;j>0;j--)
{
if(a[j]>a[j-1])swap(a+j,a+j-1);
}
}
}
int search(int *a,int len,int value)//搜索升序数组
{
int left=0,right=len-1,mid;
while(left<=right)
{
mid=(left+right)/2;
if(a[mid]>value)right=mid-1;
else if(a[mid]<value)left=mid+1;
else return mid;
}
return -1;
}
考前排序、查找算法复习
最新推荐文章于 2024-10-09 22:28:58 发布