aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Ferrone <zapwai@gmail.com>2023-01-01 15:28:22 -0500
committerDavid Ferrone <zapwai@gmail.com>2023-01-01 15:28:22 -0500
commit9aa729649b9d39065083745b1c42e37493e8faac (patch)
tree7a9c47b0585dced55b250b41e4da0abed8b367c1
parent1bf0af88b12558a237b14dc0cbdf5eef7cedf1c2 (diff)
downloadperlweeklychallenge-club-9aa729649b9d39065083745b1c42e37493e8faac.tar.gz
perlweeklychallenge-club-9aa729649b9d39065083745b1c42e37493e8faac.tar.bz2
perlweeklychallenge-club-9aa729649b9d39065083745b1c42e37493e8faac.zip
Rust week 197
-rw-r--r--challenge-197/zapwai/rust/ch-1.rs11
-rw-r--r--challenge-197/zapwai/rust/ch-2.rs28
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);
+}