(其實(shí)這些大公司的筆試不難,也不就是如此,只要學(xué)一下數(shù)據(jù)結(jié)構(gòu)就可以搞定!)
排序及查找方法
#include malloc.h
#includestdio.h
#define N 11
/*用監(jiān)視哨查找*/
int search(int array[],int n,int k)
{int i;
i=n-1;
array[0]=k;
while(array[i]!=k) i--;
return(i);
}
/*折半查找法*/
int halfsearch(int array[],int n,int k)
{int i,j,mid;
i=1;j=n;
while(i=j)
{mid=(i j)/2;
if(k==array[mid]) return(mid);
else if(karray[mid]) j=mid-1;
else i=mid 1;
}
return(0);
}
/*冒泡排序法*/
void mpsort(int array[])
{int i,j,a;
a=0;
for(i=1;iN;i )
for(j=i 1;jN;j )
if(array[i]array[j])
{a=array[i];
array[i]=array[j];
array[j]=a;}
}
/*直接插入排序*/
void insertsort(int array[])
{int i,j;
for(i=2;iN;i )
{array[0]=array[i];
j=i-1;
while(array[0]array[j])
{array[j 1]=array[j--];
array[j 1]=array[0];
}
}
}
/*建立*/
void creat(int array[])
{int i;
printf(enter the array:);
for(i=1;iN;i )
scanf(%d,array[i]);
}
/*顯示*/
void print(int array[])
{int i;
printf(The numbers after sort is:);
for(i=1;iN;i )
printf(%d ,array[i]);