pythonic_helper/
vectors.rs

1/// Return the highest number of a vector / array
2pub fn max(vec: &[isize]) -> isize {
3    let mut max = isize::MIN;
4
5    for num in vec.iter() {
6        if num > &max {
7            max = *num
8        }
9    }
10
11    max
12}
13
14/// Return the lowest number of a vector / array
15pub fn min(vec: &[isize]) -> isize {
16    if vec.is_empty() {
17        return 0;
18    }
19    
20    let mut min = isize::MAX;
21
22    for num in vec.iter() {
23        if num < &min {
24            min = *num
25        }
26    }
27
28    min
29}
30
31
32#[cfg(test)]
33mod tests {
34    use super::{max, min};
35
36    #[test]
37    fn test_max_and_min() {
38        let vec: Vec<isize> = vec![20, 40, 1, 76, 240, 120];
39        let highest_number = max(&vec);
40        let lower_number = min(&vec);
41
42        assert_eq!(240, highest_number);
43        assert_eq!(1, lower_number);
44    }
45}