二叉樹的用法

2021-09-30 03:46:54 字數 1550 閱讀 2173

1

)用二叉鍊錶作為儲存結構; 2

)分別按先序,中序和後序遍歷二叉樹; 3

)編寫交換二叉樹中所有結點左右孩子的非遞迴演算法。

二、實驗方案

#include

#include

#include

#define stack_max_size 30

#define queue_max_size 30

#ifndef elemtype

typedef char elemtype;

#endif

struct btreenode;

/* 1.

初始化二叉樹

*/void initbtree(struct btreenode* *bt)

/* 2.

建立二叉樹(根據

a所指向的二叉樹廣義表字串建立

) */

void createbtree(struct btreenode* *bt, char *a)

top++;

s[top] = p;

k = 1;

break;

case ')':

if(top == -1)

top--;

break;

case ',':

k = 2;

break;

default:

p=malloc(sizeof(struct btreenode));

p->data = a ;

p->lchild = p->rchild = null;

if(*bt==null)else

else}}

i++;/*

為掃瞄下乙個字元修改i值

*/}return;

}/*

前序遍歷

*/void preorder(struct btreenode *bt)

return;

}/*

中序遍歷

*/void inorder(struct btreenode *bt)

return;

}/*

後序遍歷

*/void postorder(struct btreenode *bt)

return;

}/*

按層遍歷

*/void levelorder(struct btreenode *bt)

while(front != rear)/*

若結點存在右孩子,則右孩子結點指標進隊

*/if(p->rchild != null)

}return;}

void change(struct btreenode *bt)

while(front != rear)

else

if(p->lchild= null&&p->rchild!= null)

else

if(p->rchild= null &&p->lchild!= null)

{rear = (rear + 1) % queue_max_size;

二叉樹用法

二叉樹的建立 二叉樹的遍歷 二叉堆的基本用法建立二叉樹 先序,中序,後序 typedef struct node typedef node tree struct node tree bt void built tree bt 二維指標一不小心就出錯,還是引用好 二叉樹的遍歷 一.三種遍歷。void...

二叉樹的用法

include include define queue maxsize 50 typedef char data 定義元素型別 typedef struct chaintree 定義二叉樹的節點型別 chainbintree chainbintree bintreeinit chainbintre...

二叉樹的用法

定義二叉樹 include include define queue maxsize 50 typedef char data 定義元素型別 typedef struct chaintree 定義二叉樹的節點型別 chainbintree 初始化二叉樹 chainbintree bintreeini...