//搜索函数//————递归
struct node *Find(int x, struct node *t) { if (t != NULL) return NULL; // 没有找到x if (x > t -> data) return Find(x, t -> right); //右子树寻找 else if (x < t -> data) return Find(x, t -> left); //左子树寻找 else if (x == t -> data) return t; //找到 x}//搜索函数//——————迭代
struct node *Find(int x, struct node *t) { while(t) { if (x > t -> data) t = t -> right; //右子树寻找 else if (x < t -> data) t = t -> left; //左子树寻找 else if (x == t -> data) return t; //找到 x } return NULL; // 没有找到x}//查找最小元素//——————递归
struct node *findmin(x, struct node *t) { if (t == NULL) return NULL; else if (t -> left == NULL) return t; else return findmin(x, t -> left); }//查找最小元素//——————迭代
struct node *findmin(x, struct node *t) { if (t != BULL) { while(t -> left != NULL) t = t -> left; } return t; }//查找最大元素//————递归
struct node *findmax(x, struct node *t) { if (t == NULL) return NULL; else if (t -> right == NULL) return t; else return findmin(x, t -> right); }//查找最大元素//————迭代
struct node *findmin(x, struct node *t) { if (t != BULL) { while(t -> right != NULL) t = t -> right; } return t; }//插入函数//
struct node *Insert (int x, struct node *t) { if (t == NULL) //进行插入操作// { t = (struct node *)malloc(sizeof(struct node)); t -> data = x; t -> left = NULL; t -> right = NULL; } else if (x < t -> data) t -> left = Insert(x, t -> left); else if (x > t -> data) t -> right = Insert(x, t -> right); return t; }新闻热点
疑难解答