《C程序设计》算法归纳

出处:www.examlink.com 作者:小罗 日期:2007年01月23日 13时35分

插入法排序

int a[N];
/* 省略数组输入(见上:冒泡法)*/
for(i=1;i<N;i++)
{m=a;
j=i-1;
while(j>=0&&m>a[j])
{a[j+1]=a[j];
j--;
}
a[j]=m;
}
/* 省略数组输出(见上:冒泡法)*/


数列中查找一个关键字

(1)折半法

BinarySearch(a,n,x,j)
k=0;
m=n-1;
while(k<=m)
{
j=(k+m)/2;
if(x==a[j]) exit;
else if(x<a[j]) m=j-1;
else k=j+1;
}
if(k>m) j=0;
printf("%d",j);

(2)顺序查找法

int a[N];
/* 省略数组输入(见上:冒泡法)*/
for(i=0;i<N;i++)
if(x==a)
{printf("找到!序号为:%d\n",--i);
break;
}
if(i==8)
printf("没找到!");

(3)快速顺序查找法

int a[N];
/* 省略数组输入(见上:冒泡法)*/
a[N-1]=x;
i=0;
while(a!=x) i++;
if(i<N-1) printf("找到!序号为:%d\n",i);
else printf("没找到!");


汉诺塔(Hanoi)问题

Hanoi(n,X,Y,Z)
if(n==1)
move(X,1,Z);
else
{
Hanoi(n-1,X,Z,Y);
move(X,n,Z);
Hanoi(n-1,Y,X,Z);
}
最后更新时间:2008-05-28 11:40:37
文章评论
共有 0 位网友发表了评论
用户名: 新注册) 密码: 匿名评论 [查看所有评论]

评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
您可以用以下几种方式找到此文章

考试全流程