资源简介
1. 设计程序利用分治策略求n个数的最大值和最小值。
2. 利用分治策略,在n个不同元素中找出第k个最小元素。
代码片段和文件信息
#include“stdio.h“
#define maxn 300000
double s[maxn];
double maxmintemp;
void div(int loint hi)
{
int mid=(hi+lo)/2;
if(hi==lo+1)
{
if(s[lo]>s[hi]) //排序
{
temp=s[lo];
s[lo]=s[hi];
s[hi]=temp;
}
if(max if(min>s[lo])min=s[lo];
return;
}
div(lomid);
div(mid+1hi);
}
int main()
{
int T=0in; //T表示case次数
printf(“请输入数字的个数n:“);
while(scanf(“%d“&n)!=EOF&& n>0)
{
max=-2100000000;min=2100000000;
if(T++)printf(“\n“);
printf(“Case %d:\n“T);
printf(“请输入各个数字:\n“);
for(i=0;i scanf(“%lf“&s[i]);
div(0n-1);
printf(“最小值为: %.lf\n最大值为: %.lf\n“minmax);
}
return 0;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 41472 2010-10-17 17:43 0225.doc
文件 15129 2010-10-17 17:11 工程1.exe
文件 723 2010-10-17 16:34 main.c
文件 15129 2010-11-15 22:18 main.exe
----------- --------- ---------- ----- ----
72453 4
评论
共有 条评论