数据结构与算法分析——c语言描述 练习4.44 答案
用了以前的生成前N个自然数的一个随机置换代码。
tree.h
typedef int ElementType;
#ifndef _Tree_H
#define _Tree_H
struct TreeNode;
typedef struct TreeNode *Position;
typedef struct TreeNode *SearchTree;
void makeEmpty(SearchTree t);
Position find(ElementType X, SearchTree t);
Position findMin(SearchTree t);
Position findMax(SearchTree t);
SearchTree insert(ElementType X, SearchTree t);
SearchTree Delete(ElementType X, SearchTree t);
ElementType Retrieve(Position p);
Position findKth(SearchTree t, int i);
#endif
tree.c
#include"tree.h"
#include"fatal.h"
struct TreeNode {
ElementType element;
SearchTree left;
SearchTree right;
int size;
};
void makeEmpty(SearchTree t) {
if (t) {
makeEmpty(t->left);
makeEmpty(t->right);
free(t);
}
}
Position find(ElementType X, SearchTree t)