percentile_rank/
lib.rs

1pub fn percentile_rank(mut data: Vec<u64>) {
2    let data_len = data.len();
3    let percentil = 100;
4    data.sort();
5    println!("data :{:?}", data);
6    let mut rank = (percentil as f32/100.0 * data_len as f32) as usize;
7    let mut max_indx = data_len as usize - 1 as usize;  
8    let score: u64  = data[max_indx];
9    let mut position = 1;
10   
11   
12    println!("rank {:?}, score: {}, position: {:?}, percentile: {:?}", rank, score, position, percentil);
13   
14    while max_indx!= 0{
15        let percentile = (rank as f32 /data_len as f32  * 100.0) as u8;
16        rank = rank -1;
17        if data[max_indx] == data[max_indx -1]{
18            println!("rank {:?}, score: {}, position: {:?}, percentile: {:?}", rank, data[max_indx -1], position, percentile);
19        } else {
20            position = position + 1;
21            println!("rank {:?}, score: {}, position: {:?}, percentile: {:?}", rank, data[max_indx -1], position, percentile);
22        } 
23        max_indx -= 1 ;
24   }
25    
26}