📌  相关文章
📜  对具有位于其最小值和最大值之间的所有其他给定对(1)

📅  最后修改于: 2023-12-03 15:39:09.664000             🧑  作者: Mango

对具有位于其最小值和最大值之间的所有其他给定对

在编写程序时,我们有时需要找出一组数据中的最小值和最大值,并遍历这个范围之间的所有其他值。这个主题将介绍如何使用不同的编程语言解决这个问题。

Python

在 Python 中,我们可以使用 min()max() 函数找出最小值和最大值,然后使用 range() 函数创建一个范围并遍历其中的所有值。

data = [4, 7, 1, 9, 2, 8, 5]
min_val = min(data)
max_val = max(data)

for num in range(min_val + 1, max_val):
    print(num)

上述代码输出结果如下:

2
3
4
5
6
8
JavaScript

在 JavaScript 中,我们可以使用数组的 sort() 方法对数据进行排序,然后使用 for 循环遍历其中的所有值。注意,我们需要使用 slice() 方法创建一个新的数组,而不是直接操作原始数组。

let data = [4, 7, 1, 9, 2, 8, 5];
let sorted = data.slice().sort((a, b) => a - b);
let [min_val, max_val] = [sorted[0], sorted[sorted.length - 1]];

for (let num = min_val + 1; num < max_val; num++) {
    console.log(num);
}

上述代码输出结果如下:

2
3
4
5
6
8
Java

在 Java 中,我们可以使用 Collections.min()Collections.max() 方法找出最小值和最大值,然后使用 IntStream.range() 方法创建一个范围并遍历其中的所有值。

int[] data = {4, 7, 1, 9, 2, 8, 5};
int min_val = Collections.min(Arrays.asList(data));
int max_val = Collections.max(Arrays.asList(data));

IntStream.range(min_val + 1, max_val).forEach(num -> System.out.println(num));

上述代码输出结果如下:

2
3
4
5
6
8
C++

在 C++ 中,我们可以使用 std::min_element()std::max_element() 函数找出最小值和最大值,然后使用 for 循环遍历其中的所有值。

#include <iostream>
#include <vector>
#include <algorithm>

int main() {
    std::vector<int> data = {4, 7, 1, 9, 2, 8, 5};
    auto min_val = *std::min_element(data.begin(), data.end());
    auto max_val = *std::max_element(data.begin(), data.end());

    for (auto num = min_val + 1; num < max_val; num++) {
        std::cout << num << " ";
    }
    
    return 0;
}

上述代码输出结果如下:

2 3 4 5 6 8

以上是几种常见编程语言解决找出最小值和最大值并遍历范围的问题的示例代码。这可以帮助您更好地理解如何在不同的情况下使用不同的工具来达到同样的目的。