本题要求实现两个函数:(1)排序;(2)二分查找
先利用排序算法将数据按关键字从小到大排序,再对排序后的数据进行二分查找
函数接口定义:
void Sort(List L); //对用户传入的线性表进行排序
int BinarySearch( List L,int X ); //查找X,如果查找成功返回对应的数组下标位置;查找失败,则返回NotFound
其中List结构定义如下:
struct LNode{
int Data[MAXSIZE]; //Data为待排序序列数组
int Last; //Last为最后一个元素的数组下标
};
typedef struct LNode *List;
裁判测试程序样例:
#include <stdio.h>
#include <stdlib.h>
#define MAXSIZE 10
#define NotFound -1
struct LNode{
int Data[MAXSIZE]; //Data为待排序序列数组
int Last; //Last为最后一个元素的数组下标
};
typedef struct LNode *List;
void Sort(List L);