Rust中陣列資料結構基礎知識

banq發表於2024-07-03

陣列是相同型別元素的集合,這些元素以順序方式一起儲存在記憶體位置中。

如何宣告陣列
在 Rust 中,為了宣告一個陣列,我們使用方括號符號“[]”並宣告陣列的大小,後跟其資料:

例子:

  fn main() {
    let arr: [i32; 5] = [1, 2, 3, 4, 5];
    println!(<font>"{:?}", arr);
  }

在此程式碼中,arr它是一個包含 5 個元素的整數陣列i32。

oprintln!("{:?}", arr)用於在終端中記錄陣列。

訪問元素
要訪問 Rust 中陣列的元素,我們可以使用從 0(零)開始的索引。對於那些習慣 JavaScript 的人來說,訪問方式非常相似。

fn main() {
    let arr = [1, 2, 3, 4, 5];
    println!(<font>"O primeiro elemento é: {}", arr[0]);
    println!(
"O segundo elemento é: {}", arr[1]);
}

我們只需使用變數並在括號之間輸入索引。

陣列迭代
iter我們可以使用 for 結構與陣列分配變數中可用的函式相結合來迭代陣列。

fn main() {
    let arr = [1, 2, 3, 4, 5];
    for element in arr.iter() {
        println!(<font>"O elemento é: {}", element);
    }
}

多維陣列(矩陣)
我們還可以有一個陣列的陣列,它是一個矩陣。

我們可以在 Rust 中定義它,如下所示:

fn main() {
    let matrix: [[i32; 3]; 2] = [
        [1, 2, 3],
        [4, 5, 6]
    ];
    println!(<font>"{:?}", matrix);
}

在此示例中,定義了一個矩陣變數,它是一個陣列陣列,其中矩陣變數的大小為 2 個陣列,其中包含 3 個整數元素。

處理陣列函式的示例專案
讓我們啟動一個案例專案

cargo new array-operations
cd array-operations

現在,讓我們編輯src/main.rs檔案並建立陣列結構。

fn main() {
    println!(<font>"Operações com arrays");

    let arr: [i32; 5] = [1, 2, 3, 4, 5];

    println!(
"Original array: {:?}", arr);

   
// 訪問陣列元素<i>
    println!(
"Primeiro elemento: {}", arr[0]);

   
// 修改陣列元素<i>
    let mut arr2: [i32; 5] = arr;
    arr2[0] = 10;
    println!(
"Array modificado: {:?}", arr2);

   
// 陣列元素相加<i>
    let sum: i32 = arr.iter().sum();
    println!(
"Soma dos elementos: {}", sum);

   
// 找出最高值<i>
    let max: &i32 = arr.iter().max().unwrap();
    println!(
"Maior valor: {}", max);

   
// 找出最低值<i>
    let min: &i32 = arr.iter().min().unwrap();
    println!(
"Menor valor: {}", min);

   
// 反轉陣列元素<i>
    let mut reversed_arr: [i32; 5] = arr;
    reversed_arr.reverse();
    println!(
"Array reverso: {:?}", reversed_arr);
}

cargo run我們可以透過在專案目錄中執行來執行程式碼。

結果應該是這樣的:

❯ cargo run
   Compiling array-operations v0.1.0 (/home/user/projects/array-operations)
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.18s
     Running `target/debug/array-operations`
Operações com arrays
Original array: [1, 2, 3, 4, 5]
Primeiro elemento: 1
Array modificado: [10, 2, 3, 4, 5]
Soma dos elementos: 15
Maior valor: 5
Menor valor: 1
Array reverso: [5, 4, 3, 2, 1]

如需更多陣列資源,我們可以關注文件 :關於陣列的 Rust 文件

相關文章