------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------
函数算法对于好多初学者来说都是一个令人头疼的问题,记住几个经典的算法还是很有必要的。总结了下面几个经典的算法,下面和大家分享一下:
1.冒泡法排序函数
void bubble(int a[],int n)
{
int i,j,k;
for(i=1;i<n;i++)
if(a[j]>a[j+1])
{
k=a[j];
a[j]=a[j+1];
a[j+1]=k;
}
}
2.选择法排序函数
void sort(int a[],int n)
{
int i,j,k;
for(i=0;i<n;i++)
{
k=1;
for(j=i+1;j<n;j++)
if(a[k]<a[j]) k=j;
if(k!=i)
{
t=a[i];
a[i]=a[k];
a[k]=t;
}
}
}
3.折半查找函数
void search(int a[],int n,int x)
{
int left=0,right=n-1,mid,falg=0;
while((falg==0)&&(left<=right))
{
mid=(left + rjght)/2;
if(x==a[mid])
{
printf("%d,%d",x,mid)
flag=1;
}
else if(x<a[mid]) right=mid-1;
else left=mid +1;
}
}
4.递归--著名的八皇后,汉诺塔问题
long fun(int n)
{
long s;
if(n==1||n==2) s=2;
else s=n-fun(n-1)
return s;
}
main()
{
printf("%d",fun(4))
}