Rust程序设计语言第八章课后习题

这篇博客探讨了Rust编程中的两个问题:一是如何利用vector和哈希函数计算数字列表的平均数、中位数和众数;二是如何构建一个使用哈希map和vector的文本接口,实现添加员工到特定部门及查询部门员工的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Rust程序设计语言第八章课后习题

  • 给定一系列数字,使用 vector 并返回这个列表的平均数(mean, average)、中位数(排列数组后位于中间的值)和众数(mode,出现次数最多的值;这里哈希函数会很有帮助)。
use std::collections::HashMap;
fn main() {
    let mut nums: Vec<i32> = vec![23, 55, 55, 67, 45, 32, 54];
    println!("{:?}", nums);
    let nums = sort(&mut nums);
    println!("{:?}", nums);
    println!("average: {}", average(nums));
    println!("median: {}", median(nums));
    println!("mode: {}", mode(nums));
}
fn average(vec: &Vec<i32>) -> f32 {
    let mut r = 0;
    for num in vec.iter() {
        r += num;
    }
    r as f32 / vec.len() as f32
}

fn median(vec: &mut Vec<i32>) -> f32 {
    let len = vec.len();
    let sorted = sort(vec);
    if len % 2 == 0 {
        return (sorted[len / 2 - 1] as f32 + sorted[len] as f32) / (2 as f3
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值