二叉树遍历
先建立一颗二叉树实现代码如下:#include <iostream>using namespace std;struct node{int data;struct node *L;struct node *R;};void printnode(struct node *n)//前序遍历{if(n == NULL) return;cout <<
·
先建立一颗二叉树
实现代码如下:
#include <iostream>
using namespace std;
struct node
{
int data;
struct node *L;
struct node *R;
};
void printnode(struct node *n)//前序遍历
{
if(n == NULL) return;
cout << n->data << endl;
printnode(n->L);
printnode(n->R);
}
void printnode1(struct node *n)//中序遍历
{
if(n == NULL) return;
printnode1(n->L);
cout << n->data << endl;
printnode1(n->R);
}
void printnode2(struct node *n)//后序遍历
{
if(n == NULL) return;
printnode2(n->R);
printnode2(n->L);
cout << n->data << endl;
}
int main()
{
struct node *n = new struct node;
n->data = 0;
n->L = NULL;
n->R = NULL;
struct node *n1 = new struct node;
n1->L = NULL;
n1->R = NULL;
n1 -> data = 1;
n->L = n1;
struct node *n2 = new struct node;
n2->L = NULL;
n2->R = NULL;
n2->data = 2;
n->R = n2;
struct node *n3 = new struct node;
n3->L = NULL;
n3->R = NULL;
n3 -> data = 3;
n1->L = n3;
struct node *n4 = new struct node;
n4->L = NULL;
n4->R = NULL;
n4 -> data = 4;
n1->R = n4;
printnode2(n);
system("pause");
return 0;
}
更多推荐
已为社区贡献1条内容
所有评论(0)