diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..f457c34e9b64bcfc5550e2ce2c8f55f60b4ebd78 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +# debug binary file +/target diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000000000000000000000000000000000000..7985f386d694ffe282503bda575b8d2466ae90ad --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,7 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "scheduling_simulator" +version = "0.1.0" diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000000000000000000000000000000000000..ee281bcfcbf93261120337e9aab5f886502708f8 --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,6 @@ +[package] +name = "scheduling_simulator" +version = "0.1.0" +edition = "2021" + +[dependencies] diff --git a/src/main.rs b/src/main.rs new file mode 100644 index 0000000000000000000000000000000000000000..435aeaa1830e70947fe9589c196df767591b676b --- /dev/null +++ b/src/main.rs @@ -0,0 +1,34 @@ +use std::collections::VecDeque; + +#[derive(Debug)] +struct Task { + id: usize, + name: String, + clock: usize, +} + +fn main() { + let task1 = Task { + id: 1, + name: "send_mail".to_string(), + clock: 1, + }; + + let task2 = Task { + id: 2, + name: "complete_homework".to_string(), + clock: 10, + }; + + let mut list: VecDeque<Task> = VecDeque::new(); + list.push_front(task1); + list.push_front(task2); + + println!("{:?}", list); + + let pop = list.pop_back(); + + println!("{:?}", pop); + + println!("{:?}", list); +}