美文网首页
rust 数组

rust 数组

作者: 球果假水晶蓝 | 来源:发表于2022-11-30 10:48 被阅读0次
let arr:[i32;4] = [1,2,3,4];
let arr = [1;4]  # let arr = [1,1,1,1]
# 遍历方法1
for i in 0..4 {
      println!("i is: {} & value is : {}",i,arr[index]);
}
# 遍历方法2 转化为迭代器,不能改变值
for val in arr.iter(){
      println!("value is :{}",val);
}
for val in arr.into_iter(){
      println!("value is :{}",val);
}
for val in arr.iter_mut(){
      println!("value is :{}",val);
}

动态数组
let a: Vec<i32> = Vec::new();
let a = vec![1,2,3,4];
let a = vec![1;4];
for i in &a {
        println!("{}", i);
}
for i in &mut a {
        *i += 50;
}
a.insert(0,100); # 插入数据
a.push(1); # 尾部插入
a.len() # 数组的长度
a.capacity() # 数组的容量
let mut vec = Vec::with_capacity(1); # 设置数组的容量大小
a.remove(1); # 去除某位置元素
a.clear() # 清除所有数据,长度变为0
a.swap(1,2) # 交换索引1 和索引2位置的数字
a.sort() # 从小到大排序
a.reverse(); 
fn main() {
    let mut vec = vec![0, 1, 2, 3, 4];
    vec.extend([44, 55]);
    println!("{vec:?}");
}
fn main() {
    let mut vec = vec![0, 1, 2, 3, 4];
    vec.extend_from_slice(&[44, 55]);
    println!("{vec:?}");
}

let mut vec2 :Vec<i32> = (1..=10).collect(); # 生成可变数组
vec2.retain(|&x| x % 2 == 0); # 使用retain 去过滤
println!("{:?}",vec2);

# 浮点型数据排序
let mut vec_f = vec!();
let mut v_1 = 1.0f64;
for i in 1..=10 {
        vec_f.push(v_1);
        v_1 += 1.0;
}
vec_f.sort_by(|a, b| b.partial_cmp(a).unwrap());
println!("{:?}",vec_f);

迭代器
let vec = vec![0, 1, 2, 3, 4];
let result: i32 = vec.iter().product(); # 求积
let result: i32 = vec.iter().sum(); # 求和
let result:Vec<i32>  = vec.iter().rev().map(|&x| x).collect();
let result  = vec.iter().rev();
let result = vec.iter().max();
let result = vec.iter().min();
vec.iter().rev().for_each(|e| println!("{e:?}"));
let value = vec.iter().last() #  取迭代器最后一个元素
let value = vec.iter().nth(2)) #  取迭代器第二个元素
let zip = vec1.iter().zip(&vec2)
let chain = vec1.iter().chain(&vec2);
fn main() {
    let vec = vec![0, 1, 2, 3, 4,5];
    let result = vec.iter().step_by(2).find(|&e| e > &2);
    println!("{result:?}");
}
fn main() {
    let vec1 = vec![0, 1, 2, 3, 4];
    let vec2 = vec![5, 6, 7, 8, 9];
    let chain = vec1.iter().chain(&vec2);
    println!("{:?}", chain);
}



相关文章

  • rust 数组

    动态数组 迭代器

  • Rust中的vector类型

    Rust 中 vector 指的是大多数语言中的 List 或者动态数组。 vector VS 数组 不同点 ve...

  • Rust语言教程(3) - 数组与向量

    Rust语言教程(3) - 数组与向量 上一节我们采摘了不少低矮的果实,将其它语言学到的知识迁移到Rust 中来。...

  • RUST 学习日记 第11课 ——向量

    RUST 学习日记 第11课 ——向量(动态数组) 0x00 回顾与开篇 上一节主要讲解了Rust的复合数据类型...

  • RUST 学习日记 第22课 ——结构体(上)

    0x00 回顾 前面几篇文章已经介绍了Rust的复合数据类型(Compound Types)——数组,元组。数组应...

  • Rust 数组与元组

    元组(tuple) 元组是长度固定并且各项值的类型可以不同的数据结构 解构元组 访问元组 元组的下标从 0 开始,...

  • Rust语言编程实例100题-067

    Rust语言编程实例100题-067 题目:给定一个数组,将数组内的最大的元素与第一个元素交换,数组内的最小的元素...

  • Rust语言编程实例100题-040

    Rust语言编程实例100题-040 题目:前面做过字符串的逆序输出,现给定一个数组,将这个数组逆序输出。 给定的...

  • 数组

    rust中的数组:一个长度固定,元素项的数据类型必须一致的元素列表 1.数组的相关概念及常用API [T; N]:...

  • Rust语言编程实例100题-039

    Rust语言编程实例100题-039 题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。...

网友评论

      本文标题:rust 数组

      本文链接:https://www.haomeiwen.com/subject/cigrfdtx.html