`
ding43930053
  • 浏览: 41576 次
社区版块
存档分类
最新评论

求数组最大值优化算法

 
阅读更多

#include <iostream.h>
void main()
{
int a [] = {23,10,23,789,44,999,44,102,50,800,38,90,80,89};

/**使用sizeOf()函数计算数组的长度**/
int size = sizeof(a)/sizeof(*a);

/**存放最大值的变量**/
int max = a[0];

for(int i=0;i<size;i++){
for (int j=i+1;j<size;j++){
if(max<a[j])
max = a[j];
//i=j;
}
cout <<a[i]<<"、";
}
cout <<'\n'<<"最大值是:"<<max;
}

输出结果:

23、10、23、789、44、999、44、102、50、800、38、90、80、89、
最大值是:999Press any key to continue

由此可以看出I循环了size次的次数,那有没有能更优化的算法呢咱们改一下程序,再看一下

#include <iostream.h>
void main()
{
int a [] = {23,10,23,789,44,999,44,102,50,800,38,90,80,89};

/**使用sizeOf()函数计算数组的长度**/
int size = sizeof(a)/sizeof(*a);

/**存放最大值的变量**/
int max = a[0];

/**定义main()函数的局部变量**/

int i;

for(i=0;i<size;i++){
for (int j=i+1;j<size;j++){
if(max<a[j])
max = a[j];
i=j;
}
cout <<a[i]<<"、";
}
cout <<'\n'<<"最大值是:"<<max;
}

输出结果:

89、
最大值是:999Press any key to continue

此时我们发现i只循环了一次,希望有时间大家能来我这里探讨一下。

分享到:
评论

相关推荐

    数组最大值最小值_数组最大值最小值_最小值_

    在处理数组时,经常需要找到数组中的最大值和最小值,这在各种算法和数据分析任务中都非常常见。本话题聚焦于如何在给定的包含20个元素的数组中找出最大值和最小值。 首先,我们要理解数组的基本概念。数组是由同一...

    CUDA找数组的最大值.cu

    通过共享内存优化,高效地查找一个序列中的最大值并将该最大值放到序列的第一个元素位置。同时,不同于传统的利用线程和数组序号对应的方式,本算法利用连续的线程进行计算,更有利于算法的并发性

    求一个含有8个整数的数组中前3个最大值对应的下标

    本问题主要涉及数组的排序以及查找最大值的下标。下面将详细讲解这个过程,以及如何将其转换为二进制和十进制数。 首先,我们需要理解问题的核心:在一个包含8个整数的数组中找到前3个最大值的下标。这可以通过排序...

    二维数组求最大数

    - **效率优化**: 对于大规模数组,如何优化算法以提高查找速度? 通过以上解析,我们不仅理解了如何在一个具体的二维数组中寻找最大值及其位置,还深入探讨了相关的概念和技术细节,为进一步学习提供了坚实的基础。

    判断数组的最大值

    ### 判断数组最大值 找出数组中的最大值,我们可以遍历数组并用一个变量记录当前找到的最大值。初始时,这个变量可以设置为数组的第一个元素,然后依次与后续元素比较。以下是实现这个功能的C#代码: ```csharp ...

    数组中任意值之差的最大值

    “数组中任意值之差的最大值”问题的解决不仅展示了数组的基本操作,还涉及到排序算法的选择和优化策略。对于初学者来说,理解并掌握这一知识点有助于深化对数据结构和算法的理解,为进一步学习更复杂的算法打下坚实...

    第03章 方法与数组 06 二维数组与最大最小值算法

    例如,一个找到二维数组最大值的方法可能如下所示: ```java public int findMax(int[][] array) { int max = array[0][0]; for (int i = 0; i ; i++) { for (int j = 0; j [i].length; j++) { if (array[i][j]...

    有一个int数组{1,3,5,-2,4,6},要求获取:最大值、最小值、元素和、平均值

    在这个问题中,我们关注的是一个特定的int数组{1, 3, 5, -2, 4, 6},我们需要计算这个数组中的最大值、最小值、元素和以及平均值。这些都是数据分析和算法基础中的关键概念。 1. **最大值**:数组中的最大值是指...

    新实验五 人工智能之遗传算法求解函数最大值.rar

    本实验“新实验五 人工智能之遗传算法求解函数最大值”着重于如何利用遗传算法寻找给定函数的最大值。下面将详细解释遗传算法的基本原理、C#实现细节以及在Visual Studio中的应用。 1. **遗传算法概述** - 基本...

    数组模拟整数相乘算法

    在编程领域,数组是存储和处理数据的基本结构之一。数组模拟整数相乘算法是一种将两个整数数组的元素对应相乘,然后将结果存储在一...同时,这也涉及到计算机科学中的时间复杂度和空间复杂度分析,优化算法以提高性能。

    求解找到数组A[1..n]中元素的最大值和次最大值(本小题以数组元素的比较为标准操作)的算法,并分析其最坏情况的时间复杂度。

    ### 知识点一:寻找数组中的最大值与次最大值...通过以上分析,我们不仅理解了如何寻找数组中的最大值和次最大值的基本算法,还深入了解了其时间复杂度分析以及可能的优化方向。这对于解决实际问题具有重要的指导意义。

    遗传算法求函数最大值和最小值matlab源码

    - **min** 和 **max**:计算数组的最小值和最大值,可应用于适应度函数和终止条件判断。 - **disp**:显示结果,便于观察算法运行过程。 - **while** 循环:用于控制遗传算法的迭代过程。 4. **优化策略** - **...

    运用python实现差分进化算法计算函数最大值.py

    #运用python实现差分进化算法计算函数最大值 import random import math import numpy as np import random cr = 0.6 Population = np.random.rand(100,2) cycle = 500 hig , low = math.pi , 0 def eval(x): y =...

    java 求最大值、最小值和平均值

    在Java编程语言中,求一个数组的最大值、最小值和平均值是常见的操作,尤其在数据分析、统计计算或算法实现中。以下将详细介绍如何在Java中实现这些功能。 首先,让我们来了解一下数组。数组是一种数据结构,它可以...

    查找序列(数组)中的最大值,最小值(例子)

    在实际编程中,Java还提供了`java.util.Arrays`类的`max()`和`min()`方法,可以直接计算数组的最大值和最小值,简化代码并优化性能。 总之,理解如何在Java中查找数组中的最大值和最小值是编程基础的一部分,也是...

    vb求一维数组最值函数

    在Visual Basic中编写用于求解一维数组最大值和最小值的函数是一项基本但重要的技能。通过正确设计和优化,可以确保函数不仅准确无误,而且运行高效。对于初学者来说,理解并掌握这一技巧将为更复杂的算法和数据结构...

    cpp代码-测试查找数组最大值

    标题“cpp代码-测试查找数组最大值”暗示了我们将讨论一个C++程序,它的主要任务是查找并验证数组中的最大元素。 C++中寻找数组最大值的基本方法通常涉及遍历数组的每个元素,比较当前元素与已知的最大值(通常是...

    JavaScript遍历查找数组中最大值与最小值的方法示例

    总的来说,JavaScript中查找数组最大值和最小值有多种实现方式,开发者可以根据具体场景和性能需求选择合适的方法。无论选择哪种方式,理解这些基本操作对于提高JavaScript编程能力都是至关重要的。

    用二C语言求二维数组鞍点

    此外,为了提高效率,可以考虑使用数据结构(如优先队列)来存储行最小值和列最大值,从而减少比较次数。 最后,从提供的信息来看,"an dian"可能是程序或文档的名称,具体的内容无法在当前信息下给出,但通常会...

Global site tag (gtag.js) - Google Analytics