Rust语言编程实例100题-067

  • Post author:
  • Post category:其他




Rust语言编程实例100题-067


题目

:给定一个数组,将数组内的最大的元素与第一个元素交换,数组内的最小的元素与最后一个元素交换,最后输出这个数组。

数组如下:

[12, 123, 4, 65, 21]

**程序分析:**声明两个变量分别是最小元素位置和最大元素位置。通过循环比较,获取最大元素和最小元素的位置。最后分别交换他们的位置。


知识点

:循环、数组


参考程序代码:

fn main() {
    let mut array = [12, 123, 4, 65, 21];
    let mut max_index = 0;
    let mut min_index = 0;

    for i in 0..array.len() {
        if array[max_index] < array[i] {
            max_index = i;
        }

        if array[min_index] > array[i] {
            min_index = i;
        }
    }

    // 交换最大值
    let mut temp = array[0];
    array[0] = array[max_index];
    array[max_index] = temp;

    // 交换最小值
    temp = array[array.len() - 1];
    array[array.len() - 1] = array[min_index];
    array[min_index] = temp;

    dbg!(array);
}


程序执行结果:

array = [
    123,
    12,
    21,
    65,
    4,
]



版权声明:本文为a1595901624原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。