当前位置: 代码迷 >> C语言 >> 查找最大和最小
  详细解决方案

查找最大和最小

热度:238   发布时间:2008-05-17 12:49:50.0
回复 20# 的帖子
#define INT_MAX        0x7FFF
#define INT_MIN        ((int)0x8000)
去头文件看了下``原来真的有耶``mqh21364非常感谢
现在仔细看了下```是我错了。。。t2有定义
----------------解决方案--------------------------------------------------------
我可没近视哦```只是刚才粗心了哈哈
----------------解决方案--------------------------------------------------------
FindMaxMin(int nlist[] ,int nlen)
{
int a=b=nlist[0];
for(i=o;i<=nlen-1;i++)
{
a=a>nlist[i]?a:nlist[i];
b=b<nlist[i]?b:nlist[i];
}printf("a=%d,b=%d",a,b);
}
应该可以吧
----------------解决方案--------------------------------------------------------
传说中的2n-2次比较....
----------------解决方案--------------------------------------------------------
很好,答案齐了……飞燕现身吧………………
----------------解决方案--------------------------------------------------------
回复 23# 的帖子
这份代码,我给50分――只差一点点就可以及格……
----------------解决方案--------------------------------------------------------
牛人貌似很多的样子
----------------解决方案--------------------------------------------------------
还是缺少了一种
----------------解决方案--------------------------------------------------------
划分求解。。。。。。
----------------解决方案--------------------------------------------------------
程序代码:

void swap(int* arr,int i,int j)
{
    int temp=arr[i];
    arr[i] = arr[j];
    arr[j] = temp;
}
int partition(int*arr,int l,int r)
{
    int j=r,key=arr[l];
    int i=l;
    for(++i;i<j;)
    {
        for(;arr[i]<key;++i);
        for(;arr[j]>key;--j);
        if(i<j)
        swap(arr,i,j);
    }
    swap(arr,j,l);
    return j;
}
int SelectPartition(int* arr,int l,int r,int p)
{
    int j=-1,m=-1;
    for(;m!=p; )
    {
        if(arr[l]==arr[r]) return arr[l];
        j=partition(arr,l,r);
        m=j-l+1;
        if(m<p) { l=j+1; p=p-j; }
        else r=j-1;
    }
    return arr[j];
}
void FindMaxMin(int nList[],int nLen)
{
    cout<<"Mixmum: "<<SelectPartition(nList,0,nLen-1,nLen)<<endl;
    cout<<"Manmum: "<<SelectPartition(nList,0,nLen-1,1)<<endl;
}

----------------解决方案--------------------------------------------------------
  相关解决方案