1
2pub fn sort_ascending(data: &str) -> Vec<i128> {
3 let mut splitdat: Vec<i128> = data
4 .split_whitespace()
5 .map(|s| s.parse().expect("Parse error"))
6 .collect();
7
8 let mut sorted_values = Vec::new();
9 let mut min_index;
10
11 while !splitdat.is_empty() {
12 min_index = 0;
13 for i in 1..splitdat.len() {
14 if splitdat[i] < splitdat[min_index] {
15 min_index = i;
16 }
17 }
18 sorted_values.push(splitdat.remove(min_index));
19 }
20 for (i, _val) in sorted_values.iter().enumerate() {
21 if i > 0 {
22 print!(" ");
23 }
24 }
25 return sorted_values;
26}
27
28pub fn sort_descending(data: &str) -> Vec<i128> {
29 let mut splitdat: Vec<i128> = data
30 .split_whitespace()
31 .map(|s| s.parse().expect("Parse error"))
32 .collect();
33
34 let mut sorted_values = Vec::new();
35 let mut min_index;
36
37 while !splitdat.is_empty() {
38 min_index = 0;
39 for i in 1..splitdat.len() {
40 if splitdat[i] > splitdat[min_index] {
41 min_index = i;
42 }
43 }
44 sorted_values.push(splitdat.remove(min_index));
45 }
46 for (i, _val) in sorted_values.iter().enumerate() {
47 if i > 0 {
48 print!(" ");
49 }
50 }
51 return sorted_values;
52}