From 14ca7b5fc15eb2618b46bde0cac85e37ebc9ebd9 Mon Sep 17 00:00:00 2001 From: Jon Santmyer Date: Thu, 21 May 2026 07:58:47 -0400 Subject: tacmap back as canvas. begin work on fleet scheduling --- src/ntree.rs | 44 ++++++-------------------------------------- 1 file changed, 6 insertions(+), 38 deletions(-) (limited to 'src/ntree.rs') diff --git a/src/ntree.rs b/src/ntree.rs index 26c241c..5500649 100644 --- a/src/ntree.rs +++ b/src/ntree.rs @@ -7,32 +7,6 @@ pub struct NTreeNode } -#[derive(Default, Clone)] -pub struct NTree -{ - root: Option> -} - -impl NTree -{ - pub fn set_root_val( - &mut self, - val: T) - { - self.root = Some(NTreeNode { value: val, children: vec![] }); - } - - pub fn set_root( - &mut self, - node: NTreeNode) - { - self.root = Some(node); - } - - pub fn root(&self) -> &Option> { &self.root } - pub fn root_mut(&mut self) -> &mut Option> { &mut self.root } -} - impl NTreeNode { pub fn new(val: T) @@ -49,12 +23,6 @@ impl NTreeNode pub fn children(&self) -> &[NTreeNode] { &self.children.as_slice() } - pub fn as_tree(self) - -> NTree - { - NTree { root: Some(self) } - } - pub fn insert_value( &mut self, val: T) @@ -69,13 +37,13 @@ impl NTreeNode self.children.push(subtree); } - pub fn insert_tree( - &mut self, - subtree: NTree) + pub fn traverse_preorder(&self) + -> Vec<&T> { - match subtree.root { - Some(subtree_root) => self.insert_node(subtree_root), - None => { panic!("Tried to put null subtree") } + let mut result = vec![self.value()]; + for child in &self.children { + result.extend(child.traverse_preorder().iter()); } + result } } -- cgit v1.2.3