diff --git a/src/main.rs b/src/main.rs index 79ebc1f..61ba135 100644 --- a/src/main.rs +++ b/src/main.rs @@ -83,6 +83,7 @@ impl Process { // let mut completed: Vec = vec![]; // todo!() // } + pub fn fifo(mut procs: Vec) -> Vec { procs.sort_by(|a, b| a.arrival.cmp(&b.arrival)); let mut clock = procs[0].arrival; @@ -99,3 +100,18 @@ pub fn fifo(mut procs: Vec) -> Vec { } completed } + +pub fn sjf(mut procs: Vec, mut completed: Vec) -> Vec { + procs.sort_by(|a, b| a.arrival.cmp(&b.arrival)); + + let mut clock: i32 = 0; + let mut completed_procs: Vec = vec![]; + + while procs.len() > 0 { + if procs.is_empty() { + completed_procs + } else { + + } + } +}