排序找出第一大和第二大的数(不能使用冒泡算法)
答案:2 悬赏:30
解决时间 2021-02-20 09:29
- 提问者网友:相思故
- 2021-02-19 09:28
排序找出第一大和第二大的数(不能使用冒泡算法)
最佳答案
- 二级知识专家网友:邪性洒脱
- 2021-02-19 10:10
这应该是一个O(n)的算法,假设用max和secondmax保存最大值和最小值,那么先比较数组的第一和第二个数,把大的赋值给max,小的赋值给secondmax,然后从数组第三个数开始,对每一个数num执行:如果num小于secondmax,那么搜索下一个数,否则如果num大于max,那么,把max赋值给secondmax并把num赋值个max,然后搜索下一个数,否则,把num赋值给secondmax,然后搜索下一个数。
全部回答
- 1楼网友:高冷不撩人
- 2021-02-19 11:31
冒泡需要双重循环 #include void main() { int a[10],t,i,j,k; for(i=0;i<=9;i++) cin>>a[i]; for(i=0; i<9; i++) for(j=0;j<=9-i;j++) { if(a[i]>a[j]) { t=a[i]; a[i]=a[j]; a[j]=t; } } for(k=0;k<=9;k++) cout<
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯