1. 程式人生 > >//第二大數(第k大數)

//第二大數(第k大數)

//第二大數

int get_maxnum(int *A,int n)//得到最大值
{
    for(int i=0;i<n-1;i++)//一趟冒泡
        if(A[i]>A[i+1])
            swap(A[i],A[i+1]);
    return A[n-1];//返回最大值
}
void Solution(int *A,int n)
{
    int maxnum=get_maxnum(A,n);
    int i=1;
    int nextnum=get_maxnum(A,n-1);
    for(;;)
    {
        if(nextnum!=maxnum)//判斷是否與最大數相同
{ cout<<nextnum<<endl; break; } else { nextnum=get_maxnum(A,++i);//遞迴 } } }