aolifu-rust 0.1.0

study rust
Documentation

pub fn largest(list: &[i32]) -> i32 {
    let mut largest = list[0];
    for item in list {
        if *item > largest {
            largest = *item;
        }
    }
    largest
}

pub fn cal_largest() {
    let list = [10, 20, 11, 23, 91];
    let largest = largest(&list);
    println!("The largest number is {}", largest);
}


pub fn largest_three<T: PartialOrd + Copy>(list: &[T]) -> T {
    let mut largest = list[0];
    for &item in list.iter() {
        if item > largest {
            largest = item;
        }
    }
    largest
}

pub fn largest_four<T: PartialOrd + Clone>(list: &[T]) -> T {
    let mut largest = list[0].clone();
    for item in list.iter() {
        if item > &largest {
            largest = item.clone();
        }
    }
    largest
}

pub fn largest_five<T: PartialOrd + Clone>(list: &[T]) -> &T {
    let mut largest = &list[0];
    for item in list.iter() {
        if item > largest {
            largest = item;
        }
    }
    largest
}

pub fn cal_largest_two()  {
    let str_list = vec![String::from("hello"), String::from("world")];
    let result = largest_five(&str_list);
    println!("largest element is {}", result);

}