1.1 折半查找(递归)
int bSearch(int a[], int x,int low,int high)
{
int mid;
if(low>high)
return -1;
mid = (low+high);
if(x == a[mid])
{
return mid;
}
if(x
1.2 折半查找(非递归)
//!< 折半查找(非递归法)
int binSearch(int a[],int x,int low,int high)
{
if(low > high)
{
printf("low>high errorn");
return -1;
}
while(low <= x)
{
int mid = (low + high)/2;
if(a[mid] == x)
{
return mid;
}
if(a[mid]>x)
{
high = mid - 1;
}
else
low = mid+1;
}
//printf("没有找到n");
return -1;
}
2. 冒泡排序(面试重点)
2.1 数组法
#define N 6
void maopaoSort(int a[])
{
int i = 0;
int j = 0;
int temp = 0;
for(i = 0;i < N - 1;i++)
{
for(j = 0;ja[j+1])
{
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
for(i = 0;i<=N-1;i++)
{
printf("%d ",a[i]);
}
}
2.2 指针法
#define N 6
void maopaoSort(int *a)
{
int i = 0;
int j = 0;
int temp = 0;
for(i = 0;i < N - 1;i++)
{
for(j = 0;j*(a+j+1))
{
temp = *(a+j);
*(a+j) = *(a+j+1);
*(a+j+1) = temp;
}
}
}
for(i = 0;i<=N-1;i++)
{
printf("%d ",*(a+i));
}
}



