diff options
| -rw-r--r-- | challenge-197/zapwai/rust/ch-1.rs | 11 | ||||
| -rw-r--r-- | challenge-197/zapwai/rust/ch-2.rs | 28 |
2 files changed, 39 insertions, 0 deletions
diff --git a/challenge-197/zapwai/rust/ch-1.rs b/challenge-197/zapwai/rust/ch-1.rs new file mode 100644 index 0000000000..a492ac2d21 --- /dev/null +++ b/challenge-197/zapwai/rust/ch-1.rs @@ -0,0 +1,11 @@ +fn main() { + // let mut v = vec![0,1,0,2,0]; + let mut v = vec![1,0,3,0,0,5]; + println!("Input: {:?}",v); + let origlen = v.len(); + v.retain( |&x| x != 0 ); + let len = origlen - v.len(); + let z = vec![0;len]; + v = [v,z].concat(); + println!("Output: {:?}",v); +} diff --git a/challenge-197/zapwai/rust/ch-2.rs b/challenge-197/zapwai/rust/ch-2.rs new file mode 100644 index 0000000000..d7a0731029 --- /dev/null +++ b/challenge-197/zapwai/rust/ch-2.rs @@ -0,0 +1,28 @@ +fn main() { + let mut list = vec![1,5,1,1,6,4]; + // let mut list = vec![1,3,2,2,3,1]; + println!("Input: {:?}",list); + let mut cnt = 1; + while cnt != 0 { + cnt = 0; + for i in 0..list.len()-1 { + if i % 2 == 0 { + if list[i+1] < list[i] { + cnt += 1; + let hold = list[i]; + list[i] = list[i+1]; + list[i+1] = hold; + } + } + else { + if list[i+1] > list[i] { + cnt += 1; + let hold = list[i]; + list[i] = list[i+1]; + list[i+1] = hold; + } + } + } + } + println!("Output: {:?}",list); +} |
