mirror of
https://hub.njuu.cf/TheAlgorithms/C-Plus-Plus.git
synced 2023-10-11 13:05:55 +08:00
fixed BFT, removed unneeded code
This commit is contained in:
parent
71b03523dd
commit
c09256f42d
@ -1,4 +1,5 @@
|
|||||||
#include<iostream>
|
#include<iostream>
|
||||||
|
#include <list>
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
||||||
|
|
||||||
@ -9,27 +10,6 @@ struct node
|
|||||||
node *right;
|
node *right;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct queue
|
|
||||||
{
|
|
||||||
node *t[100];
|
|
||||||
int front;
|
|
||||||
int rear;
|
|
||||||
};
|
|
||||||
|
|
||||||
queue q;
|
|
||||||
|
|
||||||
|
|
||||||
void enqueue(node *n)
|
|
||||||
{
|
|
||||||
q.t[q.rear++]=n;
|
|
||||||
}
|
|
||||||
|
|
||||||
node * dequeue()
|
|
||||||
{
|
|
||||||
return (q.t[q.front++]);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void CreateTree(node *curr, node *n, int x, char pos)
|
void CreateTree(node *curr, node *n, int x, char pos)
|
||||||
{
|
{
|
||||||
@ -64,13 +44,21 @@ void CreateTree(node *curr, node *n, int x, char pos)
|
|||||||
|
|
||||||
void BFT(node *n)
|
void BFT(node *n)
|
||||||
{
|
{
|
||||||
if(n!=NULL)
|
list<node*> queue;
|
||||||
{
|
|
||||||
cout<<n->val<<" ";
|
queue.push_back(n);
|
||||||
enqueue(n->left);
|
|
||||||
enqueue(n->right);
|
while(!queue.empty())
|
||||||
BFT(dequeue());
|
{
|
||||||
}
|
n = queue.front();
|
||||||
|
cout << n->val << " ";
|
||||||
|
queue.pop_front();
|
||||||
|
|
||||||
|
if(n->left != NULL)
|
||||||
|
queue.push_back(n->left);
|
||||||
|
if(n->right != NULL)
|
||||||
|
queue.push_back(n->right);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Pre(node *n)
|
void Pre(node *n)
|
||||||
@ -108,8 +96,6 @@ void Post(node *n)
|
|||||||
|
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
q.front=0;
|
|
||||||
q.rear=0;
|
|
||||||
int value;
|
int value;
|
||||||
int ch;
|
int ch;
|
||||||
node *root=new node;
|
node *root=new node;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user