1.编写函数,建立有序表,采用折半查找实现某一已知的关键字的查找(采用顺序表存储结构)
2.编写函数,随机产生一组关键字,利用二叉排序树的插入算法建立二叉排序树
3.编写函数,在以上二叉排序树中删除某一指定关键字元素
4.编写一个主函数,在主函数中设计一个简单的菜单,分别调试上述算法
//二叉排序树的存储结构采用二叉链表作为存储结构
#define _CRT_SECURE_NO_WARNINGS
#define MAXNODE 300
#define MAX 100
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
typedef int datatype; //二叉链表结点类型
typedef struct Node
{
datatype data;
struct Node *lchild, *rchild;
}NodeType;
//代码如下:
int Binary_Search(int data[], int key, int n)
{
int mid;
int low = 1, high = n;
while (low <= high)
{
mid = (low + high) / 2;
if (key == data[mid])
return mid;
else if (key<data[mid])
high = mid - 1;
else low = mid + 1;
}
return 0;
}
void zhebansearch()
{
int data[MAX];
int n, i, key, j;
printf("请输入数组的长度:");
scanf("%d", &n);
printf("请输入一组数:");
for (i = 1; i <= n; i++)