时间:2021-05-20
本文实例讲述了C++实现从数组中同时取出最大最小元素的方法。分享给大家供大家参考,具体如下:
算法思想:先相邻两个两个比较,较大的放入数组max[],较小的放入数组min[],然后从max[]数组求出最大,min[]数组求出最小即可。
比较n+[(n+1)/2] =1.5n次
#include <iostream>#define n 11#define m ((n+1)/2)using namespace std;void main(void){ int num[] = {11,2,3,4,6,5,7,8,9,10,20}; //int n = sizeof(num)/sizeof(num[0]); //int m = (n+1)/2; int max[m] , min[m]; int k = 0, j = 0; if(n/2 != 0) max[m-1] = min[m-1] = num[n-1]; for (int i=0; i < n-1; i = i+2) { if (num[i] >= num[i+1]) { max[j++] = num[i]; min[k++] = num[i+1]; } else { max[j++] = num[i+1]; min[k++] = num[i]; } } for( i=0; i< m; i++) { cout << "max[" << i << "] = " << max[i] << "\t"; cout << "min[" << i << "] = " << min[i] <<endl; } int MAX = max[0]; int MIN = min[0]; for ( j = 1; j < m; j++) { if (max[j] > MAX) MAX = max[j]; if (min[j] < MIN) MIN = min[j]; } cout << "MAX = " << MAX << ", MIN = " << MIN <<endl;}希望本文所述对大家C++程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了C++实现的O(n)复杂度内查找第K大数算法。分享给大家供大家参考,具体如下:题目:是在一组数组(数组元素为整数,可正可负可为0)中查找乘积最大的
本文实例讲述了Java实现求子数组和的最大值算法。分享给大家供大家参考,具体如下:一般C和C++在算法实现中使用较多,下面我们通过java语言实现算法,更有亲切
一、计数排序计数排序(Countingsort)是一种稳定的排序算法算法的步骤如下:找出待排序的数组中最大和最小的元素统计数组中每个值为i的元素出现的次数,存入
本文实例讲述了C#把数组中的某个元素取出来放到第一个位置的实现方法。分享给大家供大家参考。具体分析如下:如何取出数组中符合某种条件的元素,然后放在数组最前面,即
最小值算法如下:将数组中个元素赋值给一个变量,把这个变量作为最小值;开始遍历数组,从第二个元素开始依次和个元素进行比较;如果当前的元素小于当前的最小值的话,就把