refactor dijkstra
This commit is contained in:
@@ -23,7 +23,7 @@ impl<T> Debug for dyn Matrix<T> {
|
||||
}
|
||||
|
||||
pub struct Dijkstra<'a, T> {
|
||||
matrix: Box<&'a mut dyn Matrix<T>>,
|
||||
matrix: &'a mut dyn Matrix<T>,
|
||||
unvisited_with_distance: HashSet<Coordinate>,
|
||||
unvisited_without_distance: HashSet<Coordinate>,
|
||||
}
|
||||
@@ -40,9 +40,9 @@ impl<'a, T> Dijkstra<'a, T>
|
||||
where
|
||||
T: PartialOrd + Add<Output = T> + Display + Copy + Debug,
|
||||
{
|
||||
pub fn new(matrix: Box<&'a mut dyn Matrix<T>>) -> Self {
|
||||
pub fn new(matrix: &'a mut dyn Matrix<T>) -> Self {
|
||||
let unvisited_with_distance = HashSet::new();
|
||||
let unvisited_without_distance = Self::initialize_unvisited_set(*matrix, START);
|
||||
let unvisited_without_distance = Self::initialize_unvisited_set(&*matrix, START);
|
||||
Self {
|
||||
matrix,
|
||||
unvisited_with_distance,
|
||||
|
||||
Reference in New Issue
Block a user