溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

C++實(shí)現(xiàn)從數(shù)組中同時(shí)取出最大最小元素算法示例

發(fā)布時(shí)間:2020-08-22 16:41:08 來(lái)源:腳本之家 閱讀:152 作者:liyuxia713 欄目:編程語(yǔ)言

本文實(shí)例講述了C++實(shí)現(xiàn)從數(shù)組中同時(shí)取出最大最小元素的方法。分享給大家供大家參考,具體如下:

算法思想:先相鄰兩個(gè)兩個(gè)比較,較大的放入數(shù)組max[],較小的放入數(shù)組min[],然后從max[]數(shù)組求出最大,min[]數(shù)組求出最小即可。

比較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;
}

希望本文所述對(duì)大家C++程序設(shè)計(jì)有所幫助。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI