二叉树排序的实现

2021-02-11 18:18

阅读:443

标签:伪代码   start   null   void   star   arch   cin   节点   arc   

  1. (1) SearchBST(T, key)伪代码:
SearchBST(T, key) {
	if (T为空) {
		return 0;
	}
	else
	{
		if (key data) {
			向T的左孩子查找;
		}
		else {
			向T的有孩子查找;
		}
	}
	return T;
}

(2)SearchBST(T, key)实现代码:

SearchBST(T, key) {
	if (T==NULL) {
		return 0;
	}
	else {
		if (key data) {
			T = T->lchild;
		}
		else {
			T = T->rchild;
		}
	}
	return T;
}
  1. (1) InsertBST(T, key)伪代码:
void InsertBST(BiTree T, int key) {
	BiTree p;
	为插入p节点创建结点空间;
	p->data = key;
	令p->lchild = p->rchild = NULL;
	if (T为空) {
		T = p;
	}
	else {
		if (T->data == p->data) {
			return;
		}
		else if (p->datadata) {
			将key插入到T的左孩子;
		}
		else {
			将key插入到T的右孩子;
		}

	}

(2) InsertBST(T, key)实现代码:

viod InsertBST(BiTree T,int key) {
	BiTree p = new BiTNode;
	p->data = key;
	p->lchild = p->rchild = NULL;
	if (T == NULL) {
		T = p;
	}
	else {
		if (T->data == p->data) {
			return;
		}
		else if (p->data data) {
			InsertBST(T->lchild, key);
		}
		else {
			InsertBST(T->rchild,key);
		}
	}
}
  1. (1) CreateBST(T)的伪代码:
void CreateBST(BiTree T) {
	令树为空
	int i;
	for (i = 0; i 

(2) CreateBST(T)的实现代码:

void CreateBST(BiTree T) {
	 T = NULL;
	int i;
	for (i = 0; i > " " >> a;
		InsertBST(T, a);

	}
        return T;
}

** 注意事项:
若删除节点并要返回删除后的树:删除之前首先应该判断该结点的类型。

二叉树排序的实现

标签:伪代码   start   null   void   star   arch   cin   节点   arc   

原文地址:https://www.cnblogs.com/123123-/p/12733963.html


评论


亲,登录后才可以留言!