算法—打擂台法

/*
打擂法:先假定第一个为最大值,而后和后面一个一个比较。
如:打擂台一致,先上一我的,有人挑战则上去,挑战成功则换人接着挑战,直至都挑战完毕为止。
如:首先先假定8位最大,而后和5比,8大,8不变;
和7比,8大,8不变;
和9比,9大,替换成9;
.....
直至最后一个比较便可得出最大值。
最小值则将max<arr[i]改为max>arr[i]便可
*/ide

 1 #include <stdio.h>
 2 int main()
 3 {
 4     int arr[] = {8,5,7,9,3,46,68,453,32,679,2323,133};
 5     int max = arr[0];
 6     int i = 0;
 7     int inpot;
 8     for(;i<sizeof(arr)/sizeof(int);i++)
 9     {
10         if(max<arr[i])
11         {
12             max = arr[i];
13             inpot = i;
14         }
15     }
16     printf("max=%d,坐标为:%d\n",max,inpot);
17 }
View Code