File tree Expand file tree Collapse file tree 1 file changed +11
-2
lines changed Expand file tree Collapse file tree 1 file changed +11
-2
lines changed Original file line number Diff line number Diff line change @@ -64,9 +64,8 @@ node *minValue(node *root) {
64
64
65
65
/* * Balanced Insertion */
66
66
node *insert (node *root, int item) {
67
- node *nn = createNode (item);
68
67
if (root == NULL )
69
- return nn ;
68
+ return createNode (item) ;
70
69
if (item < root->data )
71
70
root->left = insert (root->left , item);
72
71
else
@@ -115,6 +114,15 @@ node *deleteNode(node *root, int key) {
115
114
return root;
116
115
}
117
116
117
+ /* * Calls delete on every node */
118
+ void deleteAllNodes (const node *const root) {
119
+ if (root) {
120
+ deleteAllNodes (root->left );
121
+ deleteAllNodes (root->right );
122
+ delete root;
123
+ }
124
+ }
125
+
118
126
/* * LevelOrder (Breadth First Search) */
119
127
void levelOrder (node *root) {
120
128
std::queue<node *> q;
@@ -144,5 +152,6 @@ int main() {
144
152
root = deleteNode (root, 4 ); // Deletin key with value 4
145
153
std::cout << " \n LevelOrder: " ;
146
154
levelOrder (root);
155
+ deleteAllNodes (root);
147
156
return 0 ;
148
157
}
You can’t perform that action at this time.
0 commit comments