题解 | 冒泡排序求最大最小数
求最大最小数
https://www.nowcoder.com/practice/82e5ff335eeb486aab359767895cc7b4
#include <iostream>
#include <algorithm>
using namespace std;
int SortAsc(int a,int b)
{
return a>b;
}
int SortDesc(int a,int b)
{
return a<b;
}
int bubble(int num,int s[],int (*compare)(int a,int b))
{
int temp;
for(int i=0;i<num-1;i++)
{
if((*compare)(s[i],s[i+1]))
{
temp=s[i+1];
s[i+1]=s[i];
s[i]=temp;
}
}
return s[num-1];
}
int main() {
int num;
int s[10001];
while (cin >> num)
{ // 注意 while 处理多个 case
int a;
for(int i=0;i<num;i++)
{
cin>>s[i];
}
int max=bubble(num,s,SortAsc);
int min=bubble(num,s,SortDesc);
cout<<max<<" "<<min<<endl;
}
return 0;
}
// 64 位输出请用 printf("%lld")