數據結構:鏈表二叉樹的創建、前序遍歷、中序遍歷、後序遍歷

數據結構鏈表二叉樹的創建、前序遍歷、中序遍歷、後序遍歷。代碼可直接copy調用

#include"stdio.h"
#include"stdlib.h"

typedef struct node * pointer;

struct node{
	char data;
	pointer lchild,rchild;
};

//創建樹
pointer creat()
{
	pointer t;
	char c;
	scanf_s("%c",&c);
	if(c=='@') return NULL;
	t=(struct node *)malloc(sizeof(struct node));
	t->data=c;
	t->lchild=creat();
	t->rchild=creat();
	return t;
}
//前序遍歷
void porder(pointer t)
{
	if(t==NULL) return;
	printf("%c",t->data);
	porder(t->lchild);
	porder(t->rchild);
}

//中序遍歷
void inorder(pointer t)
{
	if(t==NULL) return;
	inorder(t->lchild);
	printf("%c",t->data);
	inorder(t->rchild);
}

//後序遍歷
void lorder(pointer t)
{
	if(t==NULL) return;
	lorder(t->lchild);
	lorder(t->rchild);
	printf("%c",t->data);
}

void main()
{
	pointer root;

	root=creat();

	printf("前序遍歷:");
	porder(root);
	printf("\n");

	printf("中序遍歷:");
	inorder(root);
	printf("\n");

	printf("後序遍歷:");
	lorder(root);
	printf("\n");
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章